TFS回滚之前的变更集,其文件已被后面的变更集更改

问题描述:

可以说开发人员A在文件class.cs中更改了一个方法,测试了更改并签入。更改集合并入验收分支并部署到接受环境中,但该变更尚未被用户批准进行生产。TFS回滚之前的变更集,其文件已被后面的变更集更改

后来,开发人员B对另一个目的进行了另一项修改。这项改变具有高度优先性,并且已经部署到用户接受和批准,但之前的更改由于尚未批准而无法投入生产。

这里的方法是什么? 回滚Dev的变化变更集然后Dev B应该重做他的工作? 以某种方式合并文件的两个版本,删除不需要的更改并进行新的签入? (如果甚至可能的话)

这是功能切换的很好用例。基本上,你可以通过一个标志(这可以从应用程序的数据库驱动,通过配置文件驱动,或者你想控制它)来开启/关闭每一个新的功能。这使您可以保持代码完全集成,即使给定功能未获批准或完成,仍可继续发货。

重要的是,如果您确定不需要再次禁用新功能,则清理功能就会切换,否则代码会变成一团乱七八糟的切换。

另一种可能性是维护更好地支持修补程序的分支策略。有很多关于支持服务/修补程序版本的各种分支策略的文档。

像这样的东西可能是你所需要的: release branching strategy 编号:https://www.visualstudio.com/en-us/articles/branching-strategies-with-tfvc