タグ

ブックマーク / unpush.hatenadiary.org (1)

  • マージ後のreset HEAD^は危険だった - unpushの日記

    直前のマージを取り消す場合は、 × git reset --hard HEAD^ではなく、 ○ git reset --hard ORIG_HEADとしないと危ない、という話。 「マージ後にgit reset --hard HEAD^で取り消し」は去年の日記でもけっこう使ってるけど、たまたま上手くいっていたからよかったが、ORIG_HEADが正しい指定方法だった。場合によってはちょっと危ない。 マージコミットは複数のparentが記録されるが、mergeコマンドによって先端を移動するブランチ(=カレントのブランチ)を1番目の親としてマージコミットが作成される。 例えば topicランチで git merge master とした場合に作成されるコミットオブジェクトは、1番目のparentはtopicランチのハッシュ値で、2番目はmasterブランチのハッシュ値となる。 なので、その後t

    マージ後のreset HEAD^は危険だった - unpushの日記
  • 1