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

Tim*_*Tim -2 git

下面两个git命令都可以删除一个分支,

git branch -d branchname
Run Code Online (Sandbox Code Playgroud)

git branch -D branchname
Run Code Online (Sandbox Code Playgroud)

-d-D然后有什么区别?

谢谢。

ein*_*onm 6

git-branch手册:

-d, --delete
       Delete a branch. The branch must be fully merged in its upstream branch, or in HEAD if no upstream was set with --track or --set-upstream.

   -D
       Shortcut for --delete --force.
Run Code Online (Sandbox Code Playgroud)

因此-D强制删除分支,如果分支未合并到其上游分支,则可以使用该分支。否则,git branch -d在未合并的分支上使用将失败。