おもしろwebサービス開発日記

Ruby や Rails を中心に、web技術について書いています

gitでリビジョンを行ったり来たり

ここ数ヶ月gitを使ってます。subversionと比べてブランチの扱いが非常に楽になったのと、ローカルでコミットできるのが素晴らしくて、もうsubversionには戻れないという感じですが、操作や概念を覚えるのが難しくて困ってもいます。

例えばgitを使って一つ前のバージョンに戻して、しばらくして元のバージョンに戻したい時は

  1. git logでHEADのハッシュ値を控えておく
  2. git checkout HEAD^で一つ前のバージョンに戻す
  3. git checkout xxxxxxxx(控えておいたハッシュ値)で元に戻す

とかやると思うのですが、ハッシュ値を控えるのを忘れたらどうやって元に戻したらいいんでしょうねー・・・

追記

仮にmasterブランチで作業しているなら

git checkout master

でオーケーでした。

git checkoutで各ブランチのHEAD以前に戻ったとき、そのワークツリーはどのブランチにも属さない(no branch)状態になるんですねー。つまりブランチのHEADの情報はそのまま保持されてるわけです。