助けられれたコマンド

タイポをコミットしてした
  • 修正後、git commit --amend

タイポ修正も直前のコミットに含まれるようになる。

間違ったブランチにコミットしてた
  • git reset HEAD^ && git checkout ブランチ名 && git commit -a

reset で --hard しない限り修正点は残るし、ブランチを移動しても大丈夫。

間違って git reset --hard して修正内容が消えた
  • git reflog で復活させたいコミットを探して、git diff コミットID | patch -p1 -R

ただし、git gc などせず、かつコミットが残っていた場合のみ。


参考:
Git初心者が絶対に覚えておくべきコマンド - idesaku blog
間違えて git reset --hard HEAD^ しちゃったら - ふしぎなぼうし