从实现的功能来说,和merge基本一致,但是使用的场景有所不同,一般用在开源项目的fork当中,因而在公司开发中几乎没有人使用到(fork内部项目意义不大)。
想为开源社区做贡献或者更正别人仓库里的错误时,一般来说,不会有人直接让你在原仓库中进行修改,所以要走一个流程:
- fork 别人的仓库,相当于拷贝一份该项目当前的代码(并不会随原项目更新)。
- clone 到本地分支,做一些编码工作并提交。
- 发起 pull request 给原仓库,让原仓库的管理员看到你的改动
- 原仓库的管理员就可以看到这个Pull Requests请求
- 如果是正确的话,就会 merge 到他自己的项目中
至此,整个 pull request 的过程就结束了。