我有两个不同的分支:
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
答案 0 :(得分:3)
合并旨在解决两个分支分歧的情况:
A - B - C <-- master
\
D - E <-- my-branch2
在这种情况下合并意味着创建一个新提交,其中包含B
,C
,D
和E
在A
之上引入的所有更改}。
如果其中一个分支已经包含在另一个分支中 - 在您的情况下
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.
这意味着您无需执行任何操作来合并更改。