【问题标题】:TFS Merging Conflicts on TFVSTFS 中的 TFS 合并冲突
【发布时间】:2020-06-05 14:55:40
【问题描述】:

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

真实的现场场景,希望你也在努力并面对它们,

我有一个名为“ProjA”的项目,有 5 位开发人员正在开发 “ProjA”,来自客户的 2 个新要求以添加新功能 在登录页面上

1) 任务 1 - 忘记用户名

2) 任务 2- 忘记密码

Task1 分配给 Developer1,Task2 分配给 Developer2 两个开发人员从那里开始在相同的资源上工作意味着相同的 login.aspx 和 .cs 页面

Task1 完成并签入到存储库并移动到 QA 分支并在 QA 环境中发布,在一天之后 Developer2 完成了他的任务并签入了他的代码,同时签入他将首先从页面中获取新的应付(getlatest)服务器,在验证后合并他的更改并检查在代码中,移动到 QA 分支,意味着现在 tfvs 有开发人员的变更集和变更,

现在客户说只有 Task2(忘记密码)将被转移到生产中,并且暂时 Task1(忘记用户名)保留,

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

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

【问题讨论】:

    标签: git azure tfs tfvc


    【解决方案1】:

    我认为,有两个方面:

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

    【讨论】:

    • 感谢您的提要,实际上最初两个任务应该同时转移到生产环境,但在 sprint 结束时需求发生了变化,团队将这两个任务转移到 QA 分支,以便 QA 可以执行他们的迭代, 请记住,两个开发人员都在相同的 page.aspx、.cs 上工作。而在第 11 个小时,只有一个变化进入下一阶段的制作,这怎么可能?
    • @SaadAwan 我没有发现使用相同项目有任何问题。复杂性取决于您的更改一致性。如果您将任务 1 和任务 2 视为单独的更改集,则可以考虑使用任务 1 的Roll back changes from a single changeset。如果任务 2 包含对任务 1 的适配,则可能需要手动剪切任务 1。
    • 是的,这就是我的观点,我们需要消除人工干预,bex这只是一个页面和2个任务的例子,实际情况是多个开发人员更改的多个文件,有些是相同的变更集和一些在不同的变更集上。
    猜你喜欢
    • 2011-08-20
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 2011-05-12
    相关资源
    最近更新 更多