Git“错误:分支'x'未完全合并”

405

以下是我从主分支中使用的命令。

git branch experiment
git checkout experiment

然后我更改了我的文件,提交了更改,并将新分支推送到GitHub。

git commit . -m 'changed files'
git push -u origin experiment

后来,我决定将我的实验分支合并到主分支中。

git checkout master
git merge experiment

最终我将更改推送到了GitHub。

git push -u origin master

一切都进行得很顺利,直到我尝试使用以下命令删除我的实验分支:

git branch -d experiment

我收到了如下错误信息:

错误:分支'experiment'没有被完全合并。
如果你确定要删除它,请运行'git branch -D experiment'。

我对Git比较陌生,也不知道我需要合并这两个分支的程度。我在这里漏掉了什么?


2
这篇文章对您有帮助吗?https://dev59.com/8XI-5IYBdhLWcg3wta7w - Chrisdigital
2
有时候,当我执行了git commit --amend命令时会出现这种情况。 - Arcolye
41
请注意,这条消息会在进行了“压缩”操作后出现:https://dev59.com/JFgQ5IYBdhLWcg3w9Yzk - Jim G.
1
我认为最常见的情况是,在本地删除分支之前,您只需要拉取您新合并的更改。 - RaisinBranCrunch
14个回答

0
如果您在Github上进行了合并并看到以下错误。在本地识别合并之前,您需要从远程服务器拉取(提取和提交)更改。这样做后,Git将允许您删除分支而不会出现错误。

错误:分支“x”未完全合并。 如果您确定要删除它,请运行'git branch -D 'x'。


0
在我的情况下,这是因为该分支没有提交。它只是从另一个分支创建的。
解决方案:在该分支中进行1次提交。然后我就可以切换到另一个分支并删除它,而不会出现错误。

0
C:\inetpub\wwwroot\ember-roomviewer>git branch -d guided-furniture
warning: not deleting branch 'guided-furniture' that is not yet merged to
         'refs/remotes/origin/guided-furniture', even though it is merged to HEAD.
error: The branch 'guided-furniture' is not fully merged.
If you are sure you want to delete it, run 'git branch -D guided-furniture'.

对我来说解决方案很简单,就是特性分支需要被推送到远程。然后当我运行时:

git push origin guided-furniture
/* You might need to fetch here */
git branch -d guided-furniture

Deleted branch guided-furniture (was 1813496).

-1

我相信你真正需要的是 --force 标志。只需使用 git branch -d --force <branch_name> 强制删除分支。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接