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

fatal: branch-name - not something we can merge

如何解决此错误?


当前回答

为了避免错别字你可以做

git fetch --all -v

然后复制您的分支机构的名称并执行

git checkout <branch-name>
git checkout master
git merge <branch-name>

其他回答

原因有很多:

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来获取它

如果您没有使用origin关键字,并且分支不是您自己的分支,也可能遇到此错误。

git checkout <to-branch> 
git merge origin/<from-branch>

我也有同样的问题。我用下面的命令修复了它:

git checkout main
git fetch
git checkout branch_name
git fetch
git checkout main
git fetch
git merge branch_name

我知道现在回答有点晚了,但我也遇到了同样的问题,所以我运行了以下命令

git checkout master

然后

git pull origin branch-name

它解决了我的问题

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

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

merge: 26d8e04b29925ea5b59cb50501ab5a14dd35f0f9
 - not something we can merge