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

fatal: branch-name - not something we can merge

如何解决此错误?


当前回答

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

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

其他回答

虽然听起来很奇怪,但重启电脑有助于解决这个问题。我使用IntelliJ IDEA中的终端,并自动完成分支名称,所以我非常确信这不是分支名称上的拼写错误。

这个答案与上面的问题无关,但我遇到过类似的问题,也许这对别人有用。我试图合并我的特征分支,如下所示:

$ git merge fix-load

为此得到了以下错误消息:

合并:固定加载-不是我们可以合并

我研究了所有的解决方案,但并不是所有的都有效。

最后,我意识到问题的原因是我的分支名称的拼写错误(实际上,合并分支名称是fix-loads)。

我也有这个问题。分支看起来像'username/master',这似乎让git感到困惑,因为它看起来像我定义的远程地址。我用这个

git merge origin/username/master

工作得非常好。

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