我今天在帮助一位同事,发现 git branch -D
和 git branch -d
做的事情略有不同。来自 git 帮助文档:
-d --delete delete fully merged branch
-D delete branch (even if not merged)
我很欣赏避免任意删除分支,但 git 如何确定何时允许 branch -d
?什么时候有人会正确使用 branch -d
?
最佳答案
将 -D
视为强制分支删除。即使该分支尚未 merge 到您当前所在的分支,它也会删除该分支。
-d
但是,会警告您并且不会删除该分支,直到它被 merge 。
例如
您已经从 master
分支分支到分支 A
。提交到 A
。如果你随后再次切换到 master
分支并尝试 git branch -d A
你会收到这样的消息
git branch -d A
error: The branch 'A' is not fully merged.
If you are sure you want to delete it, run 'git branch -D A'.
这是因为您在 A
分支中有 master
没有的提交,并且在将这些更改 pull 入当前分支之前确保您要删除它。
关于git - "git branch -d"的用例是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27605956/