版本控制:合并后删除分支?

Nat*_*ong 8 svn version-control

当您分支一些代码时,完成分支的工作,并将其合并回主干,您如何处理分支?从存储库中删除它?保留供参考?

看起来你会把它作为参考,但我想这个/branches目录可能会变得混乱.

(如果这不是人们普遍认同的,请发表评论,我会将其作为社区维基.)

澄清

jleedev 是对的 - 我们应该指定我们正在谈论的版本控制系统.

我考虑过Subversion,但也希望听到有关其他系统的回复.请说明您正在回答哪一个,或者,如果您想获得接受的答案<贿赂> <bribery>,请比较和对比几个系统.

Nat*_*ong 8

很久以后回答我自己的问题

现在我使用Git,是的,当我完成它们时,我会删除分支.这是因为在Git中,分支只不过是指向特定提交的标签.

当我第一次听到这个时,我并不太明白,但这确实是真的.如果你进入一个你在Git版本控制下打开并打开的项目.git/refs/heads,你会看到你拥有的每个分支的一个文件,包括master.每个文件都包含提交的哈希值.而已.

显然,创建这样一个文件非常便宜,这就是为什么分支在Git中很便宜的原因.反过来,这就是为什么我可以经常分支的原因,而且add_bells_to_the_widget到处堆积分支都是愚蠢的.

一旦分支合并为master,其提交就是master分支历史的一部分.保持分支的唯一目的是知道我认为哪个提交在分支上的最后一个.当代码投入生产时,这对我来说并不是很重要.


Yar*_*lav 4

我删除了重新集成的分支,因为我不再需要它们。不管怎样,Git 和 Mercurial 都会保留分支/合并历史。在颠覆中,我会保留旧分支以引用提交历史记录。