给出一个初始场景

小吴和小王同时开发一个项目 project,该项目托管到 GitHub 上,假定该项目托管到小吴的 GitHub 上,小王要想同时开发这个 project,就必须要 fork 小吴的这个 project,最后两个人 GitHub 仓库是这个样子的:

小吴:xiaowu/project
小王:xiaowang/project

(需要明确一点,小吴小王各自的 project 仓库现在就相当各做各的事情了)

具体工作场景

小王的仓库 xiaowang/project 改了代码,想要 push 合并到小吴的仓库 xiaowu/project 中,这里分两种情况。

第一种情况

小王在从 fork 小吴仓库到现在这段期间,小吴没有对 xiaowu/project 做任何改动

处理方法:直接 Pull request
image.png > image.png
可以看到 1 区域显示 Able to merge,表明这个 Pull request 对于双方是没有矛盾的

第二种情况

小王在从 fork 小吴仓库到现在这段期间,小吴又在 xiaowu/project 里面做了改动,就相当于小王 fork 过后,两个人都对各自的仓库更新了,然后小王想将自己的改动推送到小吴那里

image.png > 可以发现 1 处并没有那么顺利,因为产生了冲突,但是 2 处仍然可以新建一个 request 请求,先点击 2 > image.png > 点击之后会这样 👇 > image.png
1 处显示矛盾的文件(就是小吴和小王在各自的仓库都进行了更改)
我们点击 2 处
image.png
接下来解决这个问题并且点击 Mark as resolved 按钮就可以了
image.png > image.png
最后就会出现下面的图,接下来,小吴在他的 GitHub 上同意接受这个请求就可以了。(或者小王有权限小王自己接受也可以)
image.png