2011-12-12 124 views
2

我有一个本地分支,在一段时间之前就已经分支出去,其中有几个提交。我想获得这个支部了解最新的主,所以我做git rebase master在本地分支出现意外的结果

git co my_branch 
git rebase master 

期待这个重播提交的my_branch上主的顶部。然而,它似乎已经合并,而不是在my_branch将提交到主再运my_branch着同一个地方的主人,也就是我从这个了:

A -- B -- C -- D master, origin/master 
     \ 
     E -- F my_branch 

这样:

A -- B -- E -- F -- C -- D master, origin/master, my_branch 

当我期待这样的:

A -- B -- C -- D master 
       \ 
       E' -- F' my_branch 

我的问题是没有这么多,为什么它这样做,但我能否把东西还给它们最初,因为据推测插入COM与远程存储库交互时(随后的提交被推送到该库),mits会有问题。

编辑

事实证明,我已经合并的分支。所以,rebase无关,只需将my_branch指针留在与master相同的位置。

+1

该命令不会以任何方式修改主分支(因为它没有签出),您是否可以验证它确实修改了主分支的历史记录? –

+0

@AndrewMarshall来自分支的提交出现在master的日志中。也许他们以另一种方式来到了那里 - 之前我一直试图挑选主人的承诺,我决定放弃。我怀疑当时我笨拙地尝试重置状态可能会导致问题。 – tjames

+0

@AndrewMarshall你完全正确。这些变化是从分支机构合并到较早日期的时候开始的。 – tjames

回答

0

正如我在上面编辑中提到的,事实证明我已经在my_branch中合并了。所以,分支提交已经是master的一部分,并且在将my_branch指针移到master中的最后一个提交之后,rebase无关。