我刚刚遇到了一个问题,合并一个分支到主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
其他回答
原因有很多:
git merge dependabot/npm_and_yarn/storybook/addon-essentials-6.4.19
merge: dependabot/npm_and_yarn/storybook/addon-essentials-6.4.19 - not something we can merge
您有一个具有特殊字符的分支名称。(就像我的情况): 解决方案:从不能合并的分支签出一个具有简单名称的新分支。这可能会有所帮助。
git checkout -b feature-addon
git checkout dev
git merge feature-addon
此错误可能是由于分支名称中的拼写错误引起的,因为您正在尝试拉取一个不存在的分支。 非常愚蠢,但很可能你没有你想合并的分支的本地副本。尝试git fetch来获取它
我也有同样的问题。我用下面的命令修复了它:
git checkout main
git fetch
git checkout branch_name
git fetch
git checkout main
git fetch
git merge branch_name
我必须建议先检查所有的分支机构,或者你要找的分支机构是否可用
Git branch -r
从列表中检查
origin/HEAD -> origin/main
origin/feature/branch_1
origin/feature/branch_2
origin/feature/branch_3
origin/feature/branch_4
origin/feature/your branch
建议从origin本身复制清单,然后git合并origin/feature/branch_2。复制粘贴将删除打印错误。
当从远程上游提取时,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说的……如果没有错别字,请检查本地分支名称中是否有可笑的字符,如逗号或撇号。刚才我就是这样。