gitのHEAD, ORIG_HEAD, FETCH_HEAD, MERGE_HEADの違いを確認しとく

gitのHEAD, ORIG_HEAD, FETCH_HEAD, MERGE_HEADの違いを確認しとくよ。

HEAD

今いるブランチの最後(最新、先頭)のコミット。

HEADの使い所

# コミットを遡りたい
$ git reset --hard HEAD^^

しょっちゅう使いますね。
だれか(私?)が血迷ってforce commitしてたときなんかは、よくちょっと戻してpullします。

ORIG_HEAD

最後(最新、先頭)の一つ前のコミット。

ORIG_HEADの使い所

$ git pull origin master
#何かすごいコンフリクトとか起きた。とりあえず、pullする前の平和な状況にに戻したい。
$ git reset --hard ORIG_HEAD

これ以外で使ったことないです…

FETCH_HEAD

cloneしたときのリモートブランチの最後(最新)のコミット。

FETCH_HEADの使い所

$ git diff HEAD FETCH_HEAD

マージする前に差分を確認したりする。

MERGE_HEAD

MERGE_HEADの使い所

マージを行って取り込んだブランチの最後(最新)のコミット。
使ったことないです…

スポンサーリンク

シェアする

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

フォローする

スポンサーリンク