首页 > 解决方案 > GIT Merge:合并在不同分支的同一行上进行不同添加的文件

问题描述

我们正处于代码库大规模更新的早期开发阶段。目前的工作涉及向某些文件添加许多功能。我们目前遇到的问题是我们的主开发分支(分支 A)的开发人员创建了一个分支(分支 B)并完成了一个用户故事,该用户故事涉及向某个文件添加功能并提交拉取请求以与分支 A 合并.
然后,开发人员在等待拉取请求被批准的同时继续下一个用户故事,并从分支 A 创建分支 C,并将代码添加到他在分支 B 中所做的相同文件中(因为分支 C 来自 A,所以代码来自 B尚未出现)。在提交分支 C 的拉取请求时,会发生冲突,因为合并管理器假设您在两个分支中尝试相同的代码

 B--PR----
/        \    
A--------D--------E(Conflict)
    \            /
     C----------PR

关于如何防止这种情况的任何想法?

标签: gitversion-controlazure-devops

解决方案


在您提供的示例中,当分支C准备好合并时,来自分支的 PRB已被批准并合并。您被警告合并冲突是有充分理由的:存在合并冲突。这是常见的、预期的、完全正常的。没有什么可以阻止的。

您可以通过将最新的分支合并A到分支并手动解决冲突来解决它,然后推送一个将干净地C合并到的新提交。A


推荐阅读