我想知道,如果你使用
git rebase --preserve-merges
rebase尝试播放的确切提交列表是什么。
更具体地说,我有主题和主要分支。以前有一些从主人到主题的合并(因此主题不会与主人不必要地相距甚远)。从那时起,就主题提出了一些额外的提交。
现在假设我现在在主人身上修改主题:
git checkout topic
git rebase --preserve-merges master
git将在rebase“临时区域”中存储然后在master上重新应用的确切提交是什么?
如果答案概括为使用--onto和其他参数,则额外获得信用。
为了比较,“git help rebase”很明显,重新提交的提交集由< upstream> .. HEAD(在我们的例子中为master..topic)
提供答案 0 :(得分:0)
似乎大致沿着
的路线git log --ancestry-path `git merge-base master topic`..topic
(即找到两个分支之间的合并基础,找到它与主题之间的提交。)
但是,这不太对劲。在我的repo中,这会生成一个非常类似的rebase --preserve-merges使用的提交列表,但它并不相同。 (例如,提交的总数不完全相同。)