コミットの取り消し
打ち消したいコミットを削除して、最新に新しくコミットを積む
git revert <打ち消したいコミットID>
過去のコミットに巻き戻す
git reset <オプション> <巻き戻したい時点のコミット>
オプション
ワークツリー | ステージング | リポジトリ | |
---|---|---|---|
--soft | そのまま | そのまま | 削除 |
--mixed | そのまま | 削除 | 削除 |
--hard | 削除 | 削除 | 削除 |
巻き戻しコミットの表現
HEAD^
:直前のコミットHEAD~{n}
:n個前のコミットHEAD~~~
:3個前のコミット
HEAD~~~
=HEAD~{3}
=HEAD^^^
revertとresetの使い分け
revert
:pushした後、コミットは残るので比較的安全reset
:pushする前、コミットごと消すので注意深く!!
間違えてresetしてしまったとき reflog
git reflog