我刚刚遇到了一个问题,合并一个分支到主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
如何解决此错误?
当前回答
虽然听起来很奇怪,但重启电脑有助于解决这个问题。我使用IntelliJ IDEA中的终端,并自动完成分支名称,所以我非常确信这不是分支名称上的拼写错误。
其他回答
正如在“我们不能合并的东西”是如何产生的?,此错误可能由分支名称中的拼写错误引起,因为您正在尝试拉取一个不存在的分支。
如果这不是问题所在(就像我的情况一样),那么很可能您没有想要合并的分支的本地副本。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识别 所以执行 git分支 并且看看你想要合并的分支是否存在,如果不存在则执行 git拉 现在如果你使用git分支,分支就会显示出来, 现在你执行git merge <BranchName>
在我的案例中,问题在于分行名称。我的新分支名称包含方括号,一旦我重命名它并删除方括号,它就排序了。
如果您没有使用origin关键字,并且分支不是您自己的分支,也可能遇到此错误。
git checkout <to-branch>
git merge origin/<from-branch>
为了子孙后代:就像AxeEffect说的……如果没有错别字,请检查本地分支名称中是否有可笑的字符,如逗号或撇号。刚才我就是这样。