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

fatal: branch-name - not something we can merge

如何解决此错误?


当前回答

这是一个愚蠢的建议,但请确保分支名称中没有拼写错误!

其他回答

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

在我的案例中,问题在于分行名称。我的新分支名称包含方括号,一旦我重命名它并删除方括号,它就排序了。

下面的方法每次都对我有效。

git checkout master
git pull
git checkout branch-name-to-be-merged
git pull
git checkout branch-name
git pull
git merge branch-name-to-be-merged

当从远程上游提取时,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。

您得到这个错误是因为您想要合并的分支在您的本地存储库中不存在。

所以,首先用下面的命令签出你想要合并到主分支的分支:

git checkout branch_name_to_merge

在此之后,尝试通过以下命令将其与主分支合并:

git merge branch_name_to_merge