Gitでの操作を取り消す
Gitでの取り消し操作には目的によりいくつかの方法がある。
ローカルの変更取り消し
変更はこれで全部取り消すことができるが、新規追加したファイルに関しては削除されない為、完全に元に戻したい場合は別途削除する必要がある。
addを取り消し
addの状態しか取り消されない為、変更も取り消したい場合はローカルの変更取り消し作業も行う必要がある。
commitを取り消し
modeのデフォルトは–mixedである為、変更したファイルはすべてそのままとなり、gitの履歴がだけが変わる。
変更したファイルも含めてすべて指定のcommit状態に戻したい場合は、modeに–hardを指定する。
また、–hardを指定した場合も新規追加のファイルは残ったままになっている為、完全に元に戻したい場合は別途削除する必要がある。
pushを取り消し
指定commitまでの変更を相殺するcommitを作成するというものなのでrevert後にpushすることでリモートが実質undoをしたような状態になる。
複数コミットを取り消したい場合は、-nオプションを指定する。
-nは–no-commitと同じオプションでその名の通り、自動でコミットをしないようにする。