tags:

views:

71

answers:

2

I made a push to a newly forked git repo on Github but after committing i noticed that my username was incorrect. The username I pushed was "Brock Woolf" but it should have been brockwoolf which is my username on github.

I already changed the default locally like this:

git config --global user.name "brockwoolf"

But how can I change the username on the already pushed change?

+2  A: 

Sweet I figured it out:

git commit -a --amend
git pull
git push

Feel free to answer, if you have a better way I'll mark yours correct.

Brock Woolf
This won't actually change the original commit. The `git pull` fetches the original position of `origin/master`, which is `master@{1}`, the original commit. It then merges it. The merge goes smoothly, because the two sides made exactly the same change; the only difference is the name and date on the commit. Both commits are still there.
Jefromi
(And you probably didn't need the `-a`, unless you were committing additional changes as well as changing the name...)
Jefromi
@Jefromi: Thanks for your comments. Yes i probably didnt need the '-a' switch.
Brock Woolf
A: 

The already pushed change, if people have pulled it, is something you'll have to live with. If no one's pulled it (i.e. you realize your mistake right after pushing), you can amend your commit:

git commit --amend

Make sure you don't add any new changes to the commit - don't use -a, don't use git add first. Then you can force the push, since this is a non-fast-forward change:

git push -f

If anyone's already pulled the commit with the incorrect name... this probably won't actually mess them up, since merging it with something containing the original commit should be easy; the patches are the same. However, if that person ever pushed back to your repo, they'd push that merge - along with the original commit on one side of it. Kind of defeats the purpose of renaming yourself if you end up with both names in the repo. (This is exactly the problem I described in my comment on the OP's answer.)

Jefromi
Great stuff. I'll give you the tick.
Brock Woolf