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

时间:2010-03-24 19:38:51

标签: svn version-control

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

好像你会保留它以供参考,但我想/branches目录可能会变得混乱。

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

澄清

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

我考虑过Subversion ,但也很乐意听到有关其他系统的回复。请指明您正在回答哪一个,或< bribery>如果您想获得接受的答案< / bribery> ,请比较和对比多个系统。

7 个答案:

答案 0 :(得分:8)

稍后回答我自己的问题

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

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

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

一旦分支合并为master,其提交就是master分支历史的一部分。保持分支的唯一目的是知道我认为哪个提交在分支上的最后一个。当代码投入生产时,这与我无关。

答案 1 :(得分:4)

我删除了重新整合的分支,因为我不再需要它们了。无论如何,Git和Mercurial保持分支/合并历史。在subversion中,我会让旧的分支引用提交历史记录。

答案 2 :(得分:2)

我总是喜欢保留树枝。是的,我可以将它们用作参考,或者只是随时检索某个版本。

答案 3 :(得分:1)

SVN用户通常tag分支以保持分支目录清洁,没有?

答案 4 :(得分:0)

在我工作的每个项目中,我们一旦完成它们就会删除开发分支。但是,当我们释放并暂时保留这些代码时,我们会对代码进行分支

答案 5 :(得分:0)

我从未删除过分支机构,但认为这是个人品味的问题。删除分支时,实际上并没有从存储库中删除修订。

答案 6 :(得分:0)

如果分支机构有可能拥有自己的生命,显然你会保留它。如果没有,我可能会保留它但撤消写访问权限。磁盘很便宜。