2016-04-14 83 views
0

我无法解释为什么我有这个消息。我有一个主分支,创建了一个新的分支,进行了一些提交并希望将它们重新合并到主设备上,我希望这会导致主设备快进。事实确实是测试用例。Git:已经最新

然而,在我寻找一个解决方案,我打这个帖子:

Git merge reports "Already up-to-date" though there is a difference

任何人都可以解释为什么在这个例子中,记者解释就没有快进?

我能想到的更多信息:

  • 我是不是在一个分离的头模式。
  • 我签回给主人合并新的分支:

    git checkout -b new-branch 
    git commit -am "changes to new branch" 
    git checkout master 
    git merge new-branch // expect fast forward but got the already up to date msg 
    

在一个简单的测试情况下,我不明白上面的 - 所以是与回购的混乱,但更重要的是我不明白在上面的堆栈溢出链接中的注释的基本原理 - 这看起来似乎可能解释与我的场景相关的东西?

+0

分支之间有差异吗?运行“git diff new-branch master”来检查。你有没有创建“新分支”(执行“git checkout -b新分支”)与“主”分支检查? –

+0

好吧,无视我所做的 - 我没有得到我链接到的帖子中的解释 - 当然(第7个回答)会做快进吗? – user2237076

+0

如果您尝试合并的分支是当前分支的父项,那么肯定会收到“已经最新的”消息。另一方面,如果您当前的分支是您尝试合并的分支的父级,那么您肯定会收到“快进”消息。换句话说,你会有一个合并。 –

回答

0

我认为你做了这样的事情,基于master

$ git checkout -b newBranch 
... edit some files ... 
$ git commit -a 
$ git merge master 
Already up-to-date. 

现在,git的报告没有合并,因为你试图修改合并从masternewBranch

尝试合并,从newBranch改为master,例如,

$ git checkout master 
$ git merge newBranch 
+0

抱歉,我没有提供足够的信息,请参阅编辑。 – user2237076