Git でマージコミットを rebase する方法(-p オプション)

根本的な考え方

  • マージコミットを「消す」

具体的なコマンド

  • -p オプションを使います

-p オプションの具体的な使い方

  • -p オプションの引数として、「消したいマージコミットの一つ前のコミットハッシュ」を指定します
  • -i オプションと併用した場合は、例えば次のようなコマンドになります
    • $ git rebase -i -p cbf9c29

「指示書」の編集の方法

  • 上記コマンド*1により「指示書*2」がエディタで開かれます
  • その指示書の中にマージコミットの行が一番上にあると思いますので、それを削除します
  • 削除後に指示書を保存します

期待通りに rebase されたかを確認する

  • 上記の処理が終わったら、$ git log などを用いて期待通りに rebase ができたかを確認します

補足

他にも方法はあるかと思います*3

*1:-i オプションの併用

*2:個人的にはこの言い方がどうもしっくり来ませんが……

*3:そもそも論として rebase (squash) するというものなども含めて

Powered by はてなブログ