Git 昔のコミットに戻して動作確認をする

  • このエントリーをはてなブックマークに追加
  • Pocket

gitで昔のcommitの状態に戻して動作確認したい時などのreset方法についてまとめ。

やること

過去の動作確認をしたいだけなら、以下のようにすると幸せになれる。

  1. $ git reset --hard [commit id] 
  2. 動作確認
  3. $ git reset --hard ORIG_HEAD 

サンプル

例としてcommitは3回。

管理ファイルはindex.htmlとして、

1回目のcommit

2回目のcommit

3回目のcommit

3回目の状態。
git_reset01

昔のコミットの状態に戻す

1回目のcommit時の動作を見たい、として
git resetを使って履歴を戻す。

さっきのviewを↓これに戻す。
git_reset02

git reset –hard

–hardはcommitやらaddやらファイルまで指定したcommit idの状態に戻せる。

戻せるというよりはなかったことになる

index.htmlは1回目の状態に戻る。

resetをなかったことにする

動作を確認したら $ git reset –hard ORIG_HEAD  で直前のresetをなかったことにする。

これで3回目のcommitに戻る。

その他のresetオプション

–hard 以外にもオプションがいくつかあるが、
それぞれ動作が異なるので注意。

git reset

オプションを指定しない場合。

commitは1回目の状態に戻っているが、index.htmlに変化はなし。

ただ、$ git statusでもわかるように、2,3回目のcommitとaddした内容は取り消されている。

git reset –soft

–soft オプションをつけた場合。

これはワーキングツリーを指定したcommit idのところに移動させる。

こちらもindex.htmlに変化はないが、–soft オプションをつけるとcommitのみ取り消されている状態になる。

なのでaddはされている状態。

 

  • このエントリーをはてなブックマークに追加
  • Pocket

SNSでもご購読できます。

コメントを残す

*