在 git 中删除分支时使用 -d 和 -D 有什么区别?

What is the difference between using -d and -D when deleting a branch in git?

有人可以帮助我理解以下两个 git 命令之间的区别吗?

$ git branch -d testing

$ git branch -D testing

什么时候应该使用-D?

git branch -d 用于删除在其上游分支中完全合并的分支,如果您的分支没有上游分支,则删除到 HEAD。如果分支没有完全合并,则不会执行删除。

git branch -D 删除分支,即使它没有合并。

作为对另一个答案的补充:将 -D 视为 -d --force-d 是安全的选项,您可能想教您的手指使用这个选项。当 -d 拒绝删除分支时,请确保您知道自己在做什么,然后使用 -D.

实际上,-D 听起来很像 -d --force,您确实可以使用 -d --force,因为 Git 2.3.