Resetting a Bad Push or How I Learned to Stop Worrying and Love Git Better yet, read this: 18:44 < pizza_> git reset --hard $last-good 18:44 < pizza_> git merge -s ours ORIG_HEAD 18:46 < doener> ah well, try "git log --pretty=oneline --graph" 18:46 < doener> that should do as well 18:46 < doener> you should see that merge at the top, with two lines going down 18:46 < doener> one to the bad commit and one to the good one 18:47 < doener> so you can tell which commits got overriden 18:47 < pizza_> yes i think it's right 18:47 < doener> last step to take is to replace the, uhm, useless commit message with something more useful 18:47 < doener> just "git commit --amend" 18:49 < pizza_> just: git commit --amend "whoops" ? 18:49 < doener> no, just "git commit --amend" 18:49 < pizza_> oh 18:49 < doener> that'll start your editor 18:49 < doener> just like "git commit" does 18:50 < doener> but with --amend, the checked out commit is amended instead of a new commit being added as a child of it 18:52 < pizza_> doener: yes, that diff shows nothing. do i push now? 18:52 < doener> pizza_: yep 18:52 < doener> the commit's there, the commit message should be good, so you can push 18:52 < pizza_> git push --cross-fingers