When I try to push my commits from git repository to gerrit remote repository from Linux environment in IntelliJ idea I get the following error:
remote: ERROR:
As Frédéric Henri mentions, you have to configure properly your email through git config user.email
or directly through editing the \.git\config
file in your repo folder.
One important thing that might go unnoticed is the fact that you have to update all the previous commits that contain the fault email. Git will complain about the email pattern but it won't mention which commit is the problematic one.
You can use git rebase or git reset and then once you commit you can push successfully!
you need to reconfigure your email
$ git config user.email <your email>
$ git commit --amend --reset-author
git commit --amend
updates your last commits
You can set the username and email for GIT integration as follows. This will help you to overcome the mismatch issue.
Go to your project where git is initialized.
Then enable the hidden folders and find ".git
" and go inside the folder.
Find the file called "config
" and add below code and save.
[user]
name = username
email = username@domaim.com
Enter your correct username and email accordingly. This will be picked permanently unless you go and change it.
I encountered the same issue, when trying to push from Git to Gerrit. The possible conflict is because, the code got cloned from the login id of git and when trying to push, it is being cross-verified with Gerrit Credentials. These 2 being different, the conflict is thrown. Resolved it by running these 2 commands:
I experienced the same error when our corporate email address changed and for me was easily fixed with :
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
Run in the root of the git repo.
Based on : https://help.github.com/en/github/using-git/changing-author-info
I also edited the repo's .git/config to add the user stanza :
[user]
name = Your Correct Name
email = your-correct-email@example.com
Then
git commit --amend --reset-author
git push
PS: This is on a Gerrit Server