我刚刚遇到了一个问题,合并一个分支到主git。首先,我通过运行git ls-remote来获得分支名称。我们称这个分支为“branch-name”。然后我运行git merge branch-name命令,得到如下结果:

fatal: branch-name - not something we can merge

如何解决此错误?


当前回答

这个答案与上面的问题无关,但我遇到过类似的问题,也许这对别人有用。我试图合并我的特征分支,如下所示:

$ git merge fix-load

为此得到了以下错误消息:

合并:固定加载-不是我们可以合并

我研究了所有的解决方案,但并不是所有的都有效。

最后,我意识到问题的原因是我的分支名称的拼写错误(实际上,合并分支名称是fix-loads)。

其他回答

虽然听起来很奇怪,但重启电脑有助于解决这个问题。我使用IntelliJ IDEA中的终端,并自动完成分支名称,所以我非常确信这不是分支名称上的拼写错误。

在我的例子中,我试图从git存储库的子目录执行git命令。 请确保它是你用git初始化的目录,而不是它的子目录。

原因有很多:

git merge dependabot/npm_and_yarn/storybook/addon-essentials-6.4.19
merge: dependabot/npm_and_yarn/storybook/addon-essentials-6.4.19 - not something we can merge

您有一个具有特殊字符的分支名称。(就像我的情况): 解决方案:从不能合并的分支签出一个具有简单名称的新分支。这可能会有所帮助。

git checkout -b feature-addon
git checkout dev
git merge feature-addon

此错误可能是由于分支名称中的拼写错误引起的,因为您正在尝试拉取一个不存在的分支。 非常愚蠢,但很可能你没有你想合并的分支的本地副本。尝试git fetch来获取它

这个答案与上面的问题无关,但我遇到过类似的问题,也许这对别人有用。我试图合并我的特征分支,如下所示:

$ git merge fix-load

为此得到了以下错误消息:

合并:固定加载-不是我们可以合并

我研究了所有的解决方案,但并不是所有的都有效。

最后,我意识到问题的原因是我的分支名称的拼写错误(实际上,合并分支名称是fix-loads)。

如果包含引用的字符串是由另一个Git命令(或任何其他shell命令)生成的,请确保它的末尾不包含返回回车。你必须在将字符串传递给“git merge”之前剥离它。

注意,当这种情况发生时,这是非常明显的,因为错误消息在2行中:

merge: 26d8e04b29925ea5b59cb50501ab5a14dd35f0f9
 - not something we can merge