我刚刚遇到了一个问题,合并一个分支到主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
如何解决此错误?
当前回答
如果您没有使用origin关键字,并且分支不是您自己的分支,也可能遇到此错误。
git checkout <to-branch>
git merge origin/<from-branch>
其他回答
我也有这个问题。分支看起来像'username/master',这似乎让git感到困惑,因为它看起来像我定义的远程地址。我用这个
git merge origin/username/master
工作得非常好。
如果包含引用的字符串是由另一个Git命令(或任何其他shell命令)生成的,请确保它的末尾不包含返回回车。你必须在将字符串传递给“git merge”之前剥离它。
注意,当这种情况发生时,这是非常明显的,因为错误消息在2行中:
merge: 26d8e04b29925ea5b59cb50501ab5a14dd35f0f9
- not something we can merge
当从远程上游提取时,git fetch——所有这些都为我做了一件事:
git remote add upstream [url to the original repo]
git checkout [branch to be updated]
git fetch --all
git merge upstream/[branch to be updated]
在其他情况下,如果远程(起源,上游)分支不存在,我发现“Not something we can merge”错误也会发生。这似乎是显而易见的,但您可能会发现自己在只有master的repo上执行git合并origin/develop。
为了子孙后代:就像AxeEffect说的……如果没有错别字,请检查本地分支名称中是否有可笑的字符,如逗号或撇号。刚才我就是这样。
对我来说,当我尝试这样做时,问题出现了:
git merge -s ours --no-commit --allow-unrelated-histories <remote name>/develop
所以实际上我应该写master而不是develop,因为master是Subtree的分支名,而不是我实际的分支名。