我曾在不同的团队工作过,在一个团队中,人们倾向于在合并旧分支后立即清理它们。在其他团队分支永远停留。删除/保留旧分支有什么好处?这取决于我们使用的源代码控制系统吗? (在我的例子中 - SVN)。
最佳答案
答案可能取决于您使用的版本控制系统。例如,如果您使用 Git,那么您不应该尝试删除任何分支,因为分支系统以及处理提交和推送历史记录的方式(取决于分支)与 SVN 截然不同。
但是,一般来说,我倾向于保留旧分支,而不是删除它们。在我工作过的专业场所,他们也倾向于保留分支机构。在我看来,保留分支不仅可以为您提供代码历史记录,还可以:
- 失败的尝试历史记录。您稍后可能会考虑做一些以前失败过的事情。如果保留失败的分支,您将能够理解它最初失败的原因。
- 这些分支中可能存在良好的可重用代码。有时,当主要稳定分支结束丢弃大量代码时,专门为此分支开发的良好代码也可能最终被扔进垃圾箱。然而,其中一些代码可能在开发后期阶段的其他情况下有用。那么,为什么要重新发明轮子呢?
- 衍生项目。在大型项目中,有时分支包含的功能并未进入最终产品。从这些功能中,可能会产生一些新的想法,这些想法本身可以形成一个独立的项目。
- 证明。让我们面对现实吧,在公司中,尤其是大公司中,在提交代码时需要考虑管理方面的问题。例如,在查看代码历史记录时,您可以立即看到谁提交了错误或良好的代码,并避免误解。我知道这听起来很愤世嫉俗,但有时它可以为人们省去很多麻烦。
总的来说,它的历史。为什么要删除那些让你想起迄今为止的开发路径的分支呢?我怀疑它会对磁盘空间产生重大影响(至少在大多数情况下。在其他情况下,它可能会产生很大的影响,但公司应该在空间问题真正成为问题之前解决它)。就工作而言,分支机构代表了数千个工时。删除它们就好像你扔掉了这一次。
至于丢弃分支,除了节省空间之外,我想不出任何原因。
关于version-control - 最佳实践 : To clean or not to clean old branches,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19586042/