You do a git pull and you find that someone has undone all the changes you’ve made today. To restore your commits, you’ll need to create a branch, checkout your commit you want to restore, and merge your branch into master (or whatever branch you want to restore to).
git checkout -b newBranch git checkout 459a100 . git diff --name-only master git add . git status git commit -m 'restore commits after funky merge' git checkout master git pull git merge newBranch
Hopefully there will be no merge conflicts. If so, you’ll need to sort those out before you can push. Also, some people will tell you rebase instead. However, this works for me. YMMV.