NoNaMe
NoNaMe

Reputation: 6222

Expected Committer Name Git Push Issue

I'm trying to commit/Push some code to GIT, but when I tried to commit the code using SourceTree it gave me an error:

remote: Push rejected.[K
remote: 
remote: refs/heads/Branch Details: 6a5d6d4cdd53db591e53db78c51225a619af487f: expected committer name 'Your Name Complete' but found 'Your Name'[K
remote:

Commit is done, but code is not pushed to remote.

I just noticed in the Global setting that my was "Your Name" and I changed it (TO: Your Name Complete) in Global configuration, also verified the name in Tools --> Options and its showing "Your Name Complete" now. I also tried:

git config --global user.name "Correct User Name"
git config --global user.email "[email protected]"

but still unable to Push the changes, still the same error can any one help me to push the code to remote repository?

Upvotes: 13

Views: 48671

Answers (5)

Vanishree Nayak
Vanishree Nayak

Reputation: 21

This worked for me

  1. To check what the commiter name is in local

    git log --pretty=fuller @{u}..HEAD

  2. Make changes as per global

    git config --global user.name "FirstName Lastname"

    git config --global user.email "[email protected]"

  3. This changes only the new commits so to regenerate the commits try to push updated meta

    git commit --amend --reset-author

now git push should work

Upvotes: 2

Vipul Sharda
Vipul Sharda

Reputation: 497

I faced the same issue, reverting the changes, and then updating the git config and recommitting worked for me.

Upvotes: 1

Kaashan
Kaashan

Reputation: 382

Posting this answer as I faced a similar issue today and the suggestions provided in other answers for this topic didn't worked for me. Here is what I did to resolve the issue:

a) Verified that user.name and user.email were as expected for local and global git file

Local Git config file -> name 'config', No extension, stored under'.git' directory of local repo folder

Global Git config file -> No name, just extension , named '.gitconfig', stored inside user's profile folder like "C:\Users\yourusername" folder

This was fine.

b) My previous commit was pushed successfully. So, I compared the previous git push and the new git push. I observed that with the new git push I was trying to push more than one commits and though of combining it to single commit. After the commits were combined, I was able to push my changes successfully.

Upvotes: 2

VonC
VonC

Reputation: 1324653

Following the example of this blog post (it was for a tag, in your case it is for a branch HEAD), you would need to amend at least just the branch HEAD you want to push:

git commit --amend --allow-empty --author="LastName, FirstName <[email protected]>"

And then push.

Upvotes: 15

NoNaMe
NoNaMe

Reputation: 6222

Hopefully, if user may reset/revert the local commit and then recommit the code after correcting the name in global configuration, this will make the push successful. Here is a way to revert commit:

git reset HEAD~1  -- revert changes made to the index (i.e., that you have added)

For now, I tried the empty commit and also tried to commit the same file with some space (to attempt a fake commit) but both (above solution and fake commit) did not work for me. Then I just removed the cloned repository and re cloned it and then committed the code again and this time Push was done successfully, as I already changed the name in configurations.

Upvotes: 6

Related Questions