リベース前の保存
コミットを保存して競合の処理を延期できるようにする最も簡単な方法は、後でコミットを参照できるようにタグを付けることです。
$ git tag save-commitC <sha1>
コミットなしのリベース C
参照を保存したら、コミットせずにリベースします。
$ git rebase --interactive --merge FETCH_HEAD
次のようにエディタでファイルを開く必要があります。
pick <sha1> <message>
pick <sha1> <message>
pick <sha1> <message>
...
このブランチの履歴からコミット Cを削除pick <sha1> <message>
するには、コミットの行を削除するかコメントアウトします。
コミットは逆の順序でリストされていることに注意してください。最も古いコミットが最初に、最新のコミットが最後になります。リストの最初のコミットは、 の祖先ではない最初のコミットである必要がありFETCH_HEAD
ます。
C を使用せずにリベースしたら、次に進みます。
$ git push origin master
コミットの再適用
リベースされたブランチに適用する準備ができたら:
$ git cherry-pick save-commitC
# resolve merge conflicts
$ git commit
$ git tag -d save-commitC