TFVS上的TFS合并冲突



我正在使用Azure&TFS或tfv,并长期管理不同的分支机构,我喜欢使用它,但随着时间的推移,我认为CVCS(集中式版本控制系统(有一些主要缺点,我现在在一个组织中每天都面临这些缺点。

真实的生活场景,希望你也在工作和面对他们,

我有一个名为"ProjA"的项目,5名开发人员正在进行"ProjA",客户提出了2项新要求,以添加新功能在登录页面

1( 任务1-忘记用户名

2( 任务2-忘记密码

分配给开发人员1的任务1和分配给开发人2的任务2两个开发人员都开始在相同的资源上工作,这意味着相同的login.aspx和.cs页面

任务1完成并签入存储库,进入QA分支并在QA环境中发布。第二天,开发人员完成任务并在签入时签入代码后,他将首先从服务器获取页面的新作用域(getlatest(,在验证和签入代码之后合并他的更改,移到QA分支,意味着现在tfv既有开发者变更集,也有改变,

现在,客户表示只有任务2(忘记密码(将被转移到生产,而任务1(忘记用户名(暂时保留,

问题陈述:现在我如何只将Developer2的更改转移到生产中,并消除/跳过Developer1的更改,请记住,两个开发人员使用的代码资源相同?

这可以通过手动注释developer1的代码来完成,但它不是可靠的解决方案,也不适用于大型和高可用的项目

我认为,有两个方面:

  1. 您的开发过程。您应该与客户(产品所有者(一起计划/批准您的下一个版本。如果客户说I want only Task 2- Forgot Password,则只将任务2合并到QA分支。如果客户说I want only Task 1, Task 2,则将这两个任务合并到QA部门。如果你的客户改变了主意,那将花费额外的钱来调整你的发布(现成的功能(。因此,不要将未批准的功能合并到QA(
  2. 技术。使用TFVC,您可以尝试以下操作
    1. 将QA分支回滚到以前的状态(在任务1之前(,并重复合并任务2
    2. 从生产中创建另一个QA分支,并从任务2分支执行无基础的合并操作。也许这个工具会帮助你:MultiMerge.2017,MultiMerge.1919

最新更新