u16suzuの blog

u16suzu のブログです。

git reset と git revert についてメモ

git reset

もとに戻す。変更履歴は残らない。
指定したリビジョン以降のコミット全てを無かったことにする。

ex1. git reset HEAD^ --soft
ex2. git reset HEAD~3 --hard

ex1. 1個前に戻す。working directoryは無変更
ex2. 3個前に戻す。working directoryも戻す。

git add foo したファイルを以下の方法で取り消すことが可能

$ git reset HEAD foo

git revert

もとに戻すためのパッチを作成する。
変更履歴は残る。default で --hard がついている。
指定したリビジョンのコミットのみ無かった事にする。

ex3. git revert HEAD~2

ex3. 2個前のコミットのみをなかった事にする。

git reset はgit add を取り消すのにも使える。git add の取り消しはアンステージという。

git reset file_name