version-control - 当您计划在将来进行重写时如何处理分支?

标签 version-control tfs branch

我的开发团队即将转向分支 - 我们一直被 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/

相关文章:

mysql - 使用 Team Foundation Server,是否可以连接到远程 MySQL 数据库?

tfs - Team Foundation Server 2017 构建和发布

python - 我应该将 pyc 文件置于版本控制之下吗?

version-control - 您如何在生产服务器上的 Web 项目上应用补丁?

version-control - 适用于 Windows 7 的免费 RCS

tfs - 在 VSTS/TFS 构建摘要中显示 HTML 内容,而不使用 list 文件中的贡献

mercurial - 如何将分支更新为 Mercurial 中不同分支上标签的状态?

database - Git、机器人和分支

mercurial - 尝试在 Mercurial 中从分支 merge 回主分支并关闭分支

git - 使用稀疏 checkout 更改存储库目录结构