Visual studio 如何在TFS中保留两个版本的源代码

Visual studio 如何在TFS中保留两个版本的源代码,visual-studio,tfs,Visual Studio,Tfs,我是TFS新手,我需要有一个新的源代码“副本”,以便进行一些修复/添加新功能,这些功能将在稍后进行测试,并决定是否将该功能/修复提交到源代码管理的主副本 我希望此主副本用作将编译并部署到生产服务器的源代码,而此新副本将用于此目的 稍后,如果客户机批准了这些更改,我希望将它们提交到主副本,以便将它们部署到生产服务器 我很确定TFS中有一个功能可以轻松实现,但我需要一些帮助。如果您希望这是一个快速且没有太多更改的功能,那么您可能正在谈论搁置集。您可以在本地副本中进行更改,并将其保存为“搁置集”。如果

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

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

稍后,如果客户机批准了这些更改,我希望将它们提交到主副本,以便将它们部署到生产服务器


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

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


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

如果您希望这是一个快速且没有太多更改的过程,那么您可能正在谈论搁置集。您可以在本地副本中进行更改,并将其保存为“搁置集”。如果您想在没有它们的情况下进行构建,请获取最新版本并进行构建。当您想要使用它们进行构建时,您可以获取最新的,在本地取消搁置您的更改并进行构建。当您准备好签入它们时,取消搁置它们并签入它们


如果这需要一些时间,分支机构可能是更好的选择。当你完成编辑/测试循环时,你将这些更改合并到你的主分支并检查它们。

< P>没有明确的答案,因为你必须考虑整个过程,尤其是你冻结了代码的版本,你如何提高新的代码库等。
我全心全意地建议进行研究,因为它提取了许多不同人员和客户场景的经验(相信我,这远远超过了作者的数量)。之后,执行所选择的策略,并遵循它的书。

没有明确的答案,因为你必须考虑整个过程,尤其是你冻结了代码的版本,你如何提高新的代码库等。


我全心全意地建议进行研究,因为它提取了许多不同人员和客户场景的经验(相信我,这远远超过了作者的数量)。然后,实施所选择的策略,并按照书中的说明进行操作。

-分支代表“副本”。然后,只需使用适当的工作流在“prod”和“staging”以及“dev/features”之间合并变更集(或分支)。TFS只是表面上的“简单”,如果使用TFS-GIT是一种选择,我会敦促同时探索这一点——特别是当希望进行半独立的功能开发时。@user2864740我不同意你的说法。这两种型号我都见过。Git不一定比TFVC或任何其他集中式版本控制更容易;这完全取决于上下文。组织边界、技术诀窍、经验和流程对任何版本控制系统的有效性都起着巨大的作用。@GiulioVian It与集中式与非集中式无关。它与分支有着千丝万缕的联系。你应该不惜一切代价避免分支,因为它会引入共谋,导致代码质量低下和生产中的bug。您应该使用特性切换和其他工程来尽可能减少分支的需要。in-分支代表“副本”。然后,只需使用适当的工作流在“prod”和“staging”以及“dev/features”之间合并变更集(或分支)。TFS只是表面上的“简单”,如果使用TFS-GIT是一种选择,我会敦促同时探索这一点——特别是当希望进行半独立的功能开发时。@user2864740我不同意你的说法。这两种型号我都见过。Git不一定比TFVC或任何其他集中式版本控制更容易;这完全取决于上下文。组织边界、技术诀窍、经验和流程对任何版本控制系统的有效性都起着巨大的作用。@GiulioVian It与集中式与非集中式无关。它与分支有着千丝万缕的联系。你应该不惜一切代价避免分支,因为它会引入共谋,导致代码质量低下和生产中的bug。您应该使用特性切换和其他工程来尽可能减少分支的需要。inbranch对我来说似乎是一个更好的解决方案,拥有大约10个分支行可以吗?每个补丁/功能对应一个补丁/功能,因为它们与每个补丁/功能都不相关,而且会有更多的人处理它们……分支的数量本身不应该是问题,但如果它们都在同一个模块中工作,以后的合并可能会变得混乱。如果分支长时间保持打开状态,则使分支中的所有其他位保持当前状态需要时间。清楚地命名分支,您应该会很好。@user3900456 TFS分支在进行半独立的功能开发时,或者在每个功能上使用分支(即不是epic;每个错误的分支都是无法维护的!),这就是为什么我建议使用TFS的Git支持(这是一个更好的“现实世界发展”模式,IMOHO)。虽然搁置集对于正在进行的工作或本地更改很方便,但我不认为它们是长期工作流程的一部分,尤其是当事情开始涉及到时。。分支对我来说似乎是一个更好的解决方案,可以有大约10个分支吗?每个修复/功能对应一个分支,因为它们与每个分支无关,而且还会有更多分支从事这些工作的人……分支的数量本身不应该是个问题,但是如果他们以后都在同一个模块中工作的话