Pull Request¶
🔍 什么是 Pull Request?¶
Pull Request(简称 PR)是开源协作中最常用的代码贡献方式。
它的本质是:
!!! “我在自己的分支或 Fork 仓库中做了一些更改,现在请求你把这些更改合并(pull)到主项目中去。”
你向原项目提交一个“合并请求”,项目维护者可以:
- 查看你做了什么改动(diff)
- 对你的代码进行评论、审查(code review)
- 要求你修改
- 决定是否接受这些更改并合并进主分支
🧠 PR 的作用¶
- 💬 促进协作:团队成员可对代码进行讨论和审查
- ✅ 提高质量:代码提交前能被 review、测试
- 📜 留下记录:PR 保留完整的开发历史与讨论
- 🧪 CI/CD 集成:可以配合自动测试、构建流程
🧾 Pull Request 这个词是怎么来的?¶
它来自 Git 的工作原理:
在 Git 的语义中:¶
你做出修改后,并 不是直接 push 到主项目 ,而是:
“请求维护者把你的代码 pull 过去。”
也就是说:
- 不是你主动把代码“推(push)给对方”,
- 而是请求对方“拉(pull)你的更改”。
因此叫做 Pull Request —— “请求拉取我的改动”。
🔁 过程图¶
在Github中的操作及注意事项¶
1.fork分支¶
要修改别人的项目,首先你需要fork他的项目。
fork会在你的repo中创建一个fork repo,你的所有修改都是直接作用于这个fork,至于最终修改是否会合并到他人的项目,需要看repo拥有者是否同意merge。
2.修改代码并Pull Request
¶
在你做了修改之后,提交到GitHub,在你的fork repo和作者的repo界面,你将会看到一个Pull Request
的按钮,一旦你认为自己的修改已经完成,就可以点击进行Pull Request
了。
点击按钮后,你需要填写这次PR的信息,包括标题和内容,你需要向repo所有者解释你的修改和原因等。不需要太冗长,也不能过于概括,解释清楚事情就好。
对于PR,我们可以将其分为以下几种:
- fix,修复问题
- feature,新功能
- perf,优化
- refactor,重构
等。
开发者在提交PR时需要写清楚自己提交PR的种类、内容等。
对于新手,建议寻找Pull Request模板或者用AI生成模板来填写。
3.PR之后¶
如果是长期参与的项目等,你可以选择保留fork分支以方便未来继续修改。一般来说,在作者同意Merge后,你就可以选择删除自己的fork repo。因为Merge后,源repo已经有了你的修改记录。
4.PR后发现问题?¶
PR后发现自己代码出现问题?不用担心,如果作者还没有Merge,你可以继续修改。所有对于你的fork repo的修改会同步到这个PR。
如果作者已经Merge了呢?那可以继续修改,然后提出一个新PR。