GIT: 間違った時、元に戻す方法と、それを元に戻す(やり直す)方法

最終更新:2017-07-03 by Joe

GIT で間違ってコミットしてしまったりすると、元に戻す方法が必要です。

これは、やたらよく使うGIT コマンド。

git reset --hard HEAD^

基本編だが、「HEAD」は現在のブランチの先頭コミットを指す。「HEAD^」は現在のブランチの先頭の「一個前」を指します。「HEAD^^」は2つ前です。

reset(オプション無し) は作業ディレクトリはそのままで、ステージしたファイル(addしたやつら)を全部クリアしてくれる。reset xxxxxxとコミットを指定すれば、ステージをクリーンにして、そのコミット番号の素の状態にできる。というわけだ。

オプション付きの、reset --hardは作業ディレクトリを含めて全部戻してくれる。

もし作業中のファイルを保存しておきかったらstashとかして寄せて置かないと、すべてを失うので要注意だ。(これはあとで元に戻せない)

 

reset --softは使った事無いのでよくわかんない。

 

 

で、まちがってreset --hardしてやばい、間違った。。そんな時も、大丈夫。

リセットしようが何しようが、「これまでのすべてのコミット」が記録されている。

git reflog

で過去のコミットが本当にすべてリストされる。

git reset --hard HEAD@{0}とかやれば、結局、あらゆるコミットに行ったり来たり出来る訳だ。