Tadas Davidsonas
Tadas Davidsonas

Reputation: 1929

Commiter email address does not match in IntelliJ even changing it to correct one

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:  committer email address ***** [K
remote: ERROR:  does not match your user account.[K

Even if I changed the settings to the correct ones for git and gerrit (I can see that at: git config -l from console), it still picks the old "wrong" email.

What could be wrong?

Upvotes: 39

Views: 80620

Answers (5)

milegrin
milegrin

Reputation: 131

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="[email protected]"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="[email protected]"

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 = [email protected]

Then

git commit --amend --reset-author
git push

PS: This is on a Gerrit Server

Upvotes: 3

NavsTrend
NavsTrend

Reputation: 71

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:

Upvotes: 3

Du-Lacoste
Du-Lacoste

Reputation: 12777

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 = [email protected]

Enter your correct username and email accordingly. This will be picked permanently unless you go and change it.

Upvotes: 2

Menelaos Kotsollaris
Menelaos Kotsollaris

Reputation: 5506

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!

Upvotes: 3

Frederic Henri
Frederic Henri

Reputation: 53733

you need to reconfigure your email

$ git config user.email <your email>
$ git commit --amend --reset-author

git commit --amend updates your last commits

Upvotes: 117

Related Questions