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

fatal: branch-name - not something we can merge

如何解决此错误?


当前回答

我们得到这个错误是因为我们在分支名称中有一个逗号(,)。我们删除了本地分支,然后在不带逗号的新名称下重新检查它。我们成功地合并了。

其他回答

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

git checkout master

然后

git pull origin branch-name

它解决了我的问题

正如在“我们不能合并的东西”是如何产生的?,此错误可能由分支名称中的拼写错误引起,因为您正在尝试拉取一个不存在的分支。

如果这不是问题所在(就像我的情况一样),那么很可能您没有想要合并的分支的本地副本。Git需要两个分支的本地知识,以便合并这些分支。您可以通过签出要合并的分支,然后返回要合并的分支来解决这个问题。

git checkout branch-name
git checkout master
git merge branch-name

这应该可以工作,但是如果您收到一个错误说

error: pathspec 'remote-name/branch-name' did not match any file(s) known to git.

在签出分支之前,你需要获取远程(可能,但不一定是“origin”):

git fetch remote-name

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

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

为了子孙后代:就像AxeEffect说的……如果没有错别字,请检查本地分支名称中是否有可笑的字符,如逗号或撇号。刚才我就是这样。

Git重新设置要合并的分支

我使用这个git命令解决了这个问题,但是rebase只适用于某些情况。