我刚刚遇到了一个问题,合并一个分支到主git。首先,我通过运行git ls-remote来获得分支名称。我们称这个分支为“branch-name”。然后我运行git merge branch-name命令,得到如下结果:
fatal: branch-name - not something we can merge
如何解决此错误?
我刚刚遇到了一个问题,合并一个分支到主git。首先,我通过运行git ls-remote来获得分支名称。我们称这个分支为“branch-name”。然后我运行git merge branch-name命令,得到如下结果:
fatal: branch-name - not something we can merge
如何解决此错误?
当前回答
如果您正在使用旧的教程,请检查分支是否命名为main或类似的名称,而不是master。
这个错误告诉您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命令(或任何其他shell命令)生成的,请确保它的末尾不包含返回回车。你必须在将字符串传递给“git merge”之前剥离它。
注意,当这种情况发生时,这是非常明显的,因为错误消息在2行中:
merge: 26d8e04b29925ea5b59cb50501ab5a14dd35f0f9
- not something we can merge
我们得到这个错误是因为我们在分支名称中有一个逗号(,)。我们删除了本地分支,然后在不带逗号的新名称下重新检查它。我们成功地合并了。
我建议检查您是否能够切换到您试图合并的分支。
我得到这个错误,即使我想合并的分支是在本地存储库,没有拼写错误。
我忽略了我的本地更改,这样我就可以切换到分支(Stash或commit也可以是首选)。在此之后,我切换回初始分支,合并成功。
我也有这个问题。分支看起来像'username/master',这似乎让git感到困惑,因为它看起来像我定义的远程地址。我用这个
git merge origin/username/master
工作得非常好。