无法合并 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

在这种情况下合并意味着创建一个新提交,其中包含 BCDE 在 [= 之上引入的所有更改16=].

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

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

如果您想将分支 my-branch2 合并到 master 中,无需执行任何操作 -- 所有更改都已包含在 master 中。另一方面,my-branch2 不包含 master 中的所有更改,但是将 master 合并到 my-branch2 可以通过将 my-branch2 向前移动到 master。这叫快进。