【问题标题】:How to keep 2 versions of source code in TFS如何在 TFS 中保留 2 个版本的源代码
【发布时间】:2015-07-03 17:30:45
【问题描述】:

我是 TFS 的新手,我需要一个新的源代码“副本”,以便进行一些修复/添加新功能,这些功能将在以后进行测试并决定是否将功能/修复提交给源代码管理的主副本。

我希望这个主副本用作源代码,将编译并部署到生产服务器,而这个新副本就是为此目的。

稍后如果客户端批准了更改,我想将它们提交到主副本以将它们部署到生产服务器。

我很确定 TFS 中有一个功能可以轻松完成,但我需要一些帮助。

【问题讨论】:

  • See the MSDN documentation on TFS branching - 分支代表“副本”。然后只需使用适当的工作流程来合并“prod”和“staging”以及“dev/features”之间的变更集(或分支)。 TFS 只是表面上的“简单”,如果使用 TFS-GIT 是一种选择,我会敦促同时探索这一点 - 尤其是希望进行半独立的功能开发时。
  • @user2864740 我不同意你的说法。我已经看到这两种模型都混乱了。 Git 不一定比 TFVC 或任何其他集中式版本控制更容易;这一切都取决于上下文。组织边界、技术诀窍、经验、流程在使任何版本控制系统有效方面发挥着巨大作用。
  • @GiulioVian 它与中心化与非中心化无关。它与分支有关。
  • 您应该不惜一切代价尝试避免分支,因为它会引入导致代码质量差和生产中的错误的共谋性。您应该使用功能切换和其他工程来尽可能减少分支的需要。在

标签: visual-studio tfs


【解决方案1】:

没有明确的答案,因为您必须考虑整个过程,尤其是冻结代码版本的程度,如何增强新代码库等。 我全心全意地建议学习 ALM Rangers' Version control guidance,因为它提炼了许多不同人和客户场景的经验(远超过作者的绝对数量,相信我)。之后,实施所选择的策略并按照本书进行。

【讨论】:

    【解决方案2】:

    如果您希望这会很快且无需进行大量更改,那么您可能正在谈论搁置集。您在本地副本中进行更改并将它们保存为“搁置集”。如果您想在没有它们的情况下进行构建,请获取最新版本并进行构建。当您想使用它们构建时,您可以获得最新的,在本地取消搁置您的更改并构建。当您准备好签入时,将它们搁置并签入。

    如果这需要一些时间,分支可能是更好的选择。完成编辑/测试周期后,将更改合并回主分支并签入。

    【讨论】:

    • branch 对我来说似乎是一个更好的解决方案,有 10 个左右的分支可以吗?每个修复/功能一个,因为它们与每个修复/功能无关,并且会有更多的人在处理它们......
    • 分支的数量本身应该不是问题,但是如果它们都在同一个模块中工作,那么以后的合并可能会变得混乱。如果分支长时间保持打开状态,则使分支中的所有其他位保持当前状态需要时间。清楚地命名分支,你应该没问题。
    • @user3900456 TFS 分支 is 在进行半独立功能开发或使用每个分支的功能(即不是史诗;每个分支的错误修复很简单)时很混乱不可维护!),这就是为什么我建议使用 TFS 的 Git 支持(这是一个更好的“现实世界开发”模型,IMOHO)。虽然搁置集对于正在进行的工作或本地更改很方便,但我发现它们不是长期工作流程的一部分,尤其是当事情开始涉及时。
    猜你喜欢
    • 1970-01-01
    • 2020-11-17
    • 2018-02-04
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多