无法合并2个分支 - 已经是最新的

时间:2015-02-17 16:03:51

标签: git

我有两个不同的分支:

git diff master..my-branch2

然而,当我在分公司主人的时候这样做:

git merge my-branch2

我明白了:

Already up-to-date.

为什么这样,我如何合并?

更新:

$ git status
On branch master
Your branch is up-to-date with 'origin/master'.

nothing to commit, working directory clean
$ git branch --contains master
* master

$ git branch --contains my-branch2
* master
my-branch2
my-branch3

2 个答案:

答案 0 :(得分:3)

合并旨在解决两个分支分歧的情况:

A - B - C   <-- master
 \
  D - E     <-- my-branch2

在这种情况下合并意味着创建一个新提交,其中包含BCDEA之上引入的所有更改}。

如果其中一个分支已经包含在另一个分支中 - 在您的情况下

A - B - C   <-- master
^
my-branch2

如果要将分支my-branch2合并到master,则无需执行任何操作 - 所有更改都已包含在master中。另一方面,my-branch2不包含master中的所有更改,但将master合并到my-branch2可以通过将my-branch2转发到{{{{}}来轻松完成1}}。这被称为快进。

答案 1 :(得分:2)

由此:

$ git branch --contains my-branch2
* master
my-branch2
my-branch3

我们看到my-branch2已经合并为主人。它落后了,因此存在差异,但是没有什么可以合并到掌握因此你看到的信息:

Already up-to-date.

这意味着您无需执行任何操作来合并更改。