【发布时间】:2020-12-15 06:23:33
【问题描述】:
我经常使用git add worktree wtname 来创建单独的分支。当我将分支 wtname 上的更改合并到 master 时,我希望 git branch --no-merged 不应该列出 wtname 分支。但是,确实如此。更糟糕的是,即使删除了工作树:
rm -rf wtname
git worktree remove wtname
除非我强制删除它,否则我无法删除此分支。在上面写的命令之后,如果我运行git branch -d wtname,它会抛出以下错误:
error: The branch 'wtname' is not fully merged.
If you are sure you want to delete it, run 'git branch -D wtname'.
为什么会这样?
【问题讨论】:
-
你没有展示你是如何进行合并的,但如果你使用了
git merge --squash或 GitHub PR,很有可能该分支从未真正合并过,Git 的抱怨是完全合理的。 -
(只是重复 torek 的评论)你能解释一下你是如何将你的分支合并到 master 的吗?
-
我没有使用壁球。我只是在 master 上合并:
git merge wtname -
我必须指出,只有当我通过添加单独的工作树而不是普通分支来创建分支时才会发生这种情况。
-
“只有当我通过添加单独的工作树创建分支时才会发生这种情况”是的,但对于其他人根本不会发生。您能否提供一系列命令以重现问题?
标签: git git-branch git-worktree