2016-10-03 346 views
2

如果这对一些人来说似乎很简单,我很抱歉,但我仍然对GIT感到满意。我认为一切都很好。我会创建一个分支,进行编辑,然后合并回主。GIT合并后我仍然有老分支

然后有一天我检查,那里还有两个老分支。我试图再次合并它们,但合并后我仍然可以看到它们。我花了一些时间试图弄清楚,但不能。在这里,他们是,仍然活跃:

enter image description here

在合并工具,它说“没有提交不同”的这两个分支。 enter image description here

任何人都可以提供任何想法,为什么他们仍然存在,以及如何正确合并它们(或没有他们出现了)?我担心如果我继续解决这个问题,我可能会失去工作。

回答

5

合并分支后,分支不会被删除。你必须是手工做的:

git branch -d my_branch_name

如果分支尚未合并它会提示你使用-D,而不是-d

+0

谢谢/ U/Zarwan。非常感激。我想问一个问题是我应该删除它们还是将它们留作“以防万一”?我应该遵循一般的经验法则吗? – robster

+1

通常在合并后删除它们。如果你通过pull请求合并,GitHub会提示你。这是安全的,因为你可以随时恢复提交。 @robster – Zarwan

-1

没错,Git merge意味着:将你的分支合并到另一个分支中。

混帐合并your_branch主

这COMMANDE不删除你的分支。所以要删除你的分支;使用:

的Git分支-D your_branch

https://git-scm.com/docs/git-merge

+0

'-D'覆盖了不应该在此覆盖的完整性检查。在Zarwan的回答中使用'-d'。 – hvd

2

分支仅仅是一个指针一定的承诺。你可以拥有尽可能多的数据,合并它们当然不会删除它们,就像合并提交不会删除提交一样。这实际上是一些项目选择的发展策略,或者说足够接近(1,2,3)。在这些文件中,多个分支并行运行,并定期合并在一起。

一旦你完成你的分支上工作,并已成功地合并了,你可以用

git branch -d branch_name 

删除它@Zarwan指出。直接使用-D这是危险的,因为您不会被提示确认分支是否未成功合并。所以,更喜欢使用-d,除了在一些罕见的场合。

如果你谈论的是一个遥远的分支,以正确的方式(有很多其他的文档页面专用于这个主题),删除它是执行:

git push remote_name :branch_name 

主要推空物体的branch_nameremote_name(如果你克隆它,可能是origin)。

+0

非常感谢您对MayeuIC的详细解释。非常感谢。我已经按照我的要求删除了它们,从现在开始,我一定会正确删除它以保持整洁。再次,谢谢。 – robster

0
  1. git checkout master
  2. git branch -d *branchname*