我的开发团队即将转向分支 - 我们一直被 SourceSafe 所困扰,我们正在转向 Team Foundation Server - 我对某些事情感到好奇。
传统上,当我们对产品进行重大修改时,甚至文件夹结构或文件名都不会保持不变,我们会在源代码管理中创建一个新的根文件夹。
例如
$/V1.0
$/V1.1
$/V1.5
$/V2.0
等等。
我是分支的新手,我正在阅读的一件事是您可以为产品的不同版本使用不同的分支。现在,当您谈论对代码进行修补程序或小的更改或修改时 - 最坏的情况是您可能会添加新文件 - 这是有道理的。
然而,当你在做你的产品的“V-Next”版本时,你计划或多或少地完全重写产品(not from scratch,而是彻底修改它),直到文件夹结构和文件名可能会完全不同,这仍然是您想要通过分支做的事情吗?或者您想创建一个新的根目录(上面的 $/V2.0)来处理它吗?
最佳答案
我们的开发团队在 Subversion 中使用非常标准的分支结构。在主存储库中,我们有 3 个文件夹:
- 分支机构
- 标签
- 中继
在您的示例中,所有 V* 文件夹都将放在标签下。所有主要开发都发生在主干中,当我们需要对另一个项目的主干中的内容进行修改时,我们会使用分支。
我们还使用分支来存储对主干的重大更改。如果您需要在重写完成之前修复主干中的错误,这是一个很好的做法。因此,我们会在 branches 下创建一个“V-Next”分支,当它完成时,我们会将该分支合并回主干。
关于version-control - 当您计划在将来进行重写时如何处理分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/503632/