gitでのマージをリベースする最も簡単な方法は何ですか?git rebaseを使ってマージの周りにコミットする方法は?
私の枝のうちの1つでは、私はたくさんの失敗した試みと部分的に失敗した試みの両方で、さまざまなものを投機的に遊んでいました。作業が完了したら、インタラクティブなリベースを使用して、推測と確認のコミットを集めて戻したいと思います。
複雑なことは、プロセス中に別のブランチでマージされたことです。私はそのマージされたブランチをそのままにしておきたい(コミットを書き直さずに)、ブランチの同じ場所にマージコミットしておきたい。 (私のブランチの機能には前後関係があるため)git rebase -i
を真っ直ぐに実行しようとしましたが、私がマージしたブランチには、最後に分岐したポイントからかなりの数のコミットがあります。インタラクティブなリベースファイルは、物事を複雑にします。
図が役立つ場合があります。私は今持っているもの:
#-#-#-#-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* My branch
\ /
#-#-#-#-#-#-#-#-#-#-#-#-# The merged branch
私が欲しいもの:
#-#-#-#-----*-------*-*----*------* My branch
\ /
#-#-#-#-#-#-#-#-#-#-#-#-# The merged branch
(「#」は、私は同じよう維持したいコミット、SHA1ワイズ、および2つのマージコミットのファイルシステムの内容です)
リモートサーバーにリベースしたいコミットのどれもプッシュしませんでした。 (私はをマージブランチは、リモートサーバー上のですが。)
[こちら](http://apasca.blogspot.sg/2012/02/git-rebasing-merge-commits.html)をご覧ください。履歴のマージコミットを手動でやり直さなければならないかもしれません。 –