无法合并 2 个分支 - 已经是最新的
Can't merge 2 branches - already up to date
我有 2 个不同的分支:
git diff master..my-branch2
但是,当我在分支 master 中执行此操作时:
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
来自这里:
$ git branch --contains my-branch2
* master
my-branch2
my-branch3
我们看到 my-branch2
已经合并到 master。它落后了,因此有所不同,但是没有什么可以合并到 master 因此你看到的消息:
Already up-to-date.
这意味着您无需执行任何操作即可合并您的更改。
合并是为了解决两个分支分叉的情况:
A - B - C <-- master
\
D - E <-- my-branch2
在这种情况下合并意味着创建一个新提交,其中包含 B
、C
、D
和 E
在 [= 之上引入的所有更改16=].
如果其中一个分支已经包含在另一个分支中 -- 在您的情况下
A - B - C <-- master
^
my-branch2
如果您想将分支 my-branch2
合并到 master
中,无需执行任何操作 -- 所有更改都已包含在 master
中。另一方面,my-branch2
不包含 master
中的所有更改,但是将 master
合并到 my-branch2
可以通过将 my-branch2
向前移动到 master
。这叫快进。
我有 2 个不同的分支:
git diff master..my-branch2
但是,当我在分支 master 中执行此操作时:
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
来自这里:
$ git branch --contains my-branch2
* master
my-branch2
my-branch3
我们看到 my-branch2
已经合并到 master。它落后了,因此有所不同,但是没有什么可以合并到 master 因此你看到的消息:
Already up-to-date.
这意味着您无需执行任何操作即可合并您的更改。
合并是为了解决两个分支分叉的情况:
A - B - C <-- master
\
D - E <-- my-branch2
在这种情况下合并意味着创建一个新提交,其中包含 B
、C
、D
和 E
在 [= 之上引入的所有更改16=].
如果其中一个分支已经包含在另一个分支中 -- 在您的情况下
A - B - C <-- master
^
my-branch2
如果您想将分支 my-branch2
合并到 master
中,无需执行任何操作 -- 所有更改都已包含在 master
中。另一方面,my-branch2
不包含 master
中的所有更改,但是将 master
合并到 my-branch2
可以通过将 my-branch2
向前移动到 master
。这叫快进。