2013-08-27 73 views
-1

我是一个更新的git。从另一个分支合并我的分支后,我发现有问题。现在我的状态是我已经从合并提交这些更改,但没有推入origin/mybranch。所以我只想删除我的本地分支。然后我使用git分支-d mybranch。但是,它失败了。它告诉我,我不能删除我的本地分支。搜索goolge之后,我发现了命令git branch -D mybranch,并用它成功删除了我的分支。那么谁能告诉我们这两个命令的区别?git分支有什么不同-d <branchname>和git分支-D <branchname>

+0

http://git-scm.com/docs/git-branch – devnull

+0

同样出色的文档:https://www.kernel.org/pub//software/scm/git/docs/git-branch.html。 – 2013-08-27 05:38:15

回答

2

-D是一种力量,删除和-d将删除如果分支没有被合并到其上游分支

+0

我很困惑上游分公司的含义是什么。你能给我一个关于什么是上游分支的链接吗?谢谢! @Joe Philllips – JoJo

+1

上游分支是您从中进行更改的分支。你可以使用'git branch -vv'来找出它是什么。 (通常称为主站的分支跟踪远程分支源/主站。) – michas

+0

远程分支通常是上游分支。 origin/master将是您本地主分支的上游分支 –

2

您可以使用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来删除它。