4 ms·
The screwed up and committed to master should end with: git reset --hard origin/master (assuming that the remote is called "origin") With the example in
by random567 10y ago
The screwed up and committed to master should end with:
git reset --hard origin/master
(assuming that the remote is called "origin") With the example in the text, you have to know the number of commits you've made to master.
- NickHolt 10y agoIt was also a bit pointless to checkout a new branch just to switch back. The whole thing should be git branch some-new-branch-name git reset --hard origin/master git checkout some-new-branch-name
- NickHolt 10y agoThe "committed to wrong branch" case is also a little overly complex. I'd just do: git checkout correct-branch git cherry-pick wrong-branch git checkout wrong-branch git reset --hard HEAD~
- Dru89 10y agoThis is less safe than the branching alternatives. Instead of "moving" the original commit, this copies the original commit to a new one and leaves the original one dangling and waiting to be garbage collected. Also, if you have more than one commit before you noticed you were on the wrong branch, this only grabs the one commit.
- swang 10y agothe website's example is for when you only want to undo just the last commit you made.
- ekimekim 10y agotip: you can use @{u} to refer to "the upstream of my current branch", ie. what you said but will work no matter what the remote is called.