如何解决分支之间的冲突

Moh*_*med 5 git github

假设我们有项目 P1,它是由多个开发人员开发的。

开发人员 D1 作为 B1 检出 master 并进行更改。开发人员 D2 以 B2 的身份检出 master 并进行更改。

D1 将 B1 更改合并到 master 中。现在D2创建了一个pull request,想要合并master,但是存在冲突。

这个冲突可以在合并过程中使用 github 的解决冲突屏幕来解决。

但是,D2 被要求解决 B2 分支内的冲突,然后创建拉取请求。D2怎么能这么做呢?这是应该这样做的方式还是应该在合并期间解决冲突?

谢谢。

小智 0

git checkout master
git pull
git checkout D2
git merge master
# Here are conflicts. Resolve conflicts and do git add on the conflicted files.
git commit
git push
Run Code Online (Sandbox Code Playgroud)

现在您可以执行合并请求。

思考这个问题的方法是这样的。你是从大师开始D2的。然后D1被集成到master中。为了集成所有内容,您必须将 D2 中的更改合并到 master 中,但如果您将当前 master(其中包含 D1)合并到您自己的分支 (D2) 中,相同的操作将产生相同的结果。解决了分支中的所有冲突后,您就有了一个包含 master 的版本(没有 D1 和 D2)、D1 和 D2,但 D2 和 master 之间的唯一区别只是 D2 中所做的更改(现在包括冲突的解决) ——这些也是变化)。因此,为了使 master 与 D2 完全相同,您可以将 D2 合并到 master 中,因为所有更改和冲突都已考虑在内。这有道理吗?