2013-04-09 116 views
1

我想知道,如果你使用git rebase --preserve-merges使用的确切修订版本范围?

git rebase --preserve-merges 

什么是重订尝试回放提交的确切名单。

更具体的说,我说的是主题和主分支。以前有一些从主人到主题的合并(所以主题不会离主人太远)。从那以后,还有一些关于主题的提交。

现在假设我现在在主变基的话题,像这样:

git checkout topic 
git rebase --preserve-merges master 

什么是承诺git会在底垫“临时区域”存储,然后重新应用对主顶部的确切集合?

额外的功劳,如果答案概括使用 - 行和其他参数。

为了比较,“混帐帮助重订”显然,集合提交重新申请是由<上游> ..HEAD给出(在我们的例子master..topic)

+0

参见http://stackoverflow.com/questions/15915430/what-exactly-does-gits-rebase-preserve-merges-do-and-why – Chris 2013-04-21 05:29:26

回答

0

这似乎沿着约的

git log --ancestry-path `git merge-base master topic`..topic 

线(即,发现两个分支之间的合并基础,并发现它与主题之间的提交。)

这是不完全正确,虽然。在我的repo中,这产生了一个非常类似的提交列表,用于重置 - 保留 - 合并使用,但并不完全相同。 (例如提交的总数不完全相同)。