我刚刚遇到了一个问题,合并一个分支到主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
如何解决此错误?
当前回答
正如在“我们不能合并的东西”是如何产生的?,此错误可能由分支名称中的拼写错误引起,因为您正在尝试拉取一个不存在的分支。
如果这不是问题所在(就像我的情况一样),那么很可能您没有想要合并的分支的本地副本。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
其他回答
如果您没有使用origin关键字,并且分支不是您自己的分支,也可能遇到此错误。
git checkout <to-branch>
git merge origin/<from-branch>
这个答案与上面的问题无关,但我遇到过类似的问题,也许这对别人有用。我试图合并我的特征分支,如下所示:
$ git merge fix-load
为此得到了以下错误消息:
合并:固定加载-不是我们可以合并
我研究了所有的解决方案,但并不是所有的都有效。
最后,我意识到问题的原因是我的分支名称的拼写错误(实际上,合并分支名称是fix-loads)。
您得到这个错误是因为您想要合并的分支在您的本地存储库中不存在。
所以,首先用下面的命令签出你想要合并到主分支的分支:
git checkout branch_name_to_merge
在此之后,尝试通过以下命令将其与主分支合并:
git merge branch_name_to_merge
在我看来,我错过了映射我的本地分支与远程回购。我做了下面的工作,它工作得很好。
git checkout master
git remote add origin https://github.com/yourrepo/project.git
git push -u origin master
git pull
git merge myBranch1FromMain
这可能听起来很奇怪,但请记住设置你的git电子邮件和名称:
git config --global user.email "MY@EMAIL.COM"
git config --global user.name "FIRST_NAME LAST_NAME"