git branch -d <branchname>和git branch -D <branchname> </branchname> </branchname>有什么区别?

时间:2013-08-27 04:46:23

标签: git

我是关于git的新手。在我从另一个分支合并我的分支后,我发现了一些错误。现在我的状态是我从合并中提交了这些更改,但没有推入origin / mybranch。所以我只想删除我当地的分支机构。然后我使用git branch -d mybranch。然而,它失败了。它告诉我,我不能删除我的本地分支。搜索了goolge后,我找到了命令git branch -D mybranch,并用它成功删除了我的分支。那么有人能说出这两个命令的区别吗?

2 个答案:

答案 0 :(得分:5)

-D是强制删除,如果分支尚未合并到其上游分支中,-d将在删除之前提供警告

答案 1 :(得分:4)

您可以使用git help branch找到答案。 (因为它与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

    Delete a branch irrespective of its merged status.

通常你会git branch -d。 - 如果git抱怨,你应该再想一想,如果你确定不再需要该分支的任何提交,你可以git branch -D删除它。