最佳做法:清洁或不清洁旧枝条

时间:2013-10-25 09:28:21

标签: version-control

我曾在不同的团队中工作,在一个团队中,人们倾向于在合并后立即清理旧分支。在其他团队分支永远保持。删除/保留旧分支有什么好处?这取决于我们使用的源控制系统吗? (就我而言 - SVN)。

2 个答案:

答案 0 :(得分:2)

答案可能取决于您使用的版本控制系统。例如,如果您使用Git,那么您不应该尝试删除任何分支,因为分支系统以及处理提交和推送历史的方式(取决于分支)与SVN不同。

但是,一般情况下,我倾向于保留旧分支,而不是删除它们。在我工作的专业领域,他们也倾向于保留分支机构。在我看来,保留一个分支不仅可以为您提供代码历史记录,还可以:

  • 尝试历史记录失败。你以后可能会考虑做一些以前失败的事情。如果您保留失败的分支,您将能够首先了解它失败的原因。
  • 这些分支中可能存在良好的可重用代码。有时当主要的稳定分支机构结束丢弃大量代码时,为这个分支开发的优秀代码也可能最终落入垃圾箱。但是,在开发的后期阶段,某些代码可能在其他情况下有用。那么,为什么重新发明轮子?
  • 分拆项目。在大型项目中,有时候分支机构包含的功能并没有成为最终产品。从这些功能中,可能会有一些新想法可以形成一个独立的项目。
  • 证明。让我们面对它,在公司,特别是大公司中,在提交代码时需要考虑管理问题。例如,在查看代码历史记录时,您可以立即看到谁提交了错误或良好的代码,并避免误解。我知道这听起来很愤世嫉俗,但有时会给人们带来很多麻烦。

一般来说,它的历史。为什么要删除分支,这些分支会提醒您开发人员到目前为止所遵循的路径?我怀疑它会对磁盘空间产生重大影响(在大多数情况下,至少在这种情况下。在其他情况下,它会产生很大影响,但公司应该在实际成为问题之前处理空间问题)。分支在工作方面代表数千个工时。删除它们就好像你把这个时间浪费掉了。

至于丢弃分支机构,除了节省空间外,我想不出任何理由。

答案 1 :(得分:1)

简单......如果你有,你可以根据需要追踪。 在我的情况下,它也是SVN。我用它来存档不同的标签并将其移动到不同的文件夹。所以总是有一个带有并行dev分支的热文件夹(Live),一旦完成合并,就可以归档分支。