一、什么是Pull requests?
Pull Requests(PR)是代码协作平台(如 GitHub、GitLab 等)中的一种功能,用于提议将某分支的代码变更合并到另一个分支(通常是主分支)。它允许开发者在合并前进行代码审查、讨论和修改,是团队协作开发的核心工具之一。
二、提交PR的作用
GitHub的Pull Request(PR)是协作开发中的核心功能,主要用于代码审查、讨论和合并贡献。以下是其主要作用:
促进代码审查与改进
PR允许贡献者将代码变更提交给项目维护者,维护者可以查看修改内容,提出建议或请求进一步调整。通过评论和讨论,确保代码质量符合项目标准。
简化协作流程
开源项目中,非核心成员通过PR提交代码变更,无需直接写入主仓库。维护者拥有最终合并权限,避免未经审核的代码影响主分支稳定性。
记录变更历史
PR包含完整的修改描述、讨论记录和审查意见,形成可追溯的文档。合并后自动关联提交历史,便于后续排查问题或理解代码演进过程。
自动化集成检查
GitHub可配置CI/CD工具(如Actions),在PR阶段自动运行测试、lint检查或构建流程。失败时会阻止合并,确保主分支始终处于可部署状态。
支持分阶段合并
大型项目可能使用多级PR流程,例如从开发分支提交到测试分支,再合并到主分支。不同环境对应不同审查标准,降低风险。
非代码类协作
PR不仅限于代码,也可用于文档更新、配置文件修改等。任何仓库内容的变更均可通过此机制提交和审核。
权限管理工具
对于企业或私有项目,PR是实施代码所有权(Code Ownership)策略的关键,特定文件修改需指定人员审批后方可合并。
通过PR机制,GitHub将分布式协作流程标准化,成为现代软件开发中质量控制的核心环节。
三、提交PR流程
我们以国内嵌入式操作系统RT-thread为例:
1、注册Github账户
首先需要注册一个自己的Github账户。
2、进入rt-thread仓库
https://github.com/RT-Thread/rt-thread,点击链接进入。
3、fork一份rt-thread源码进入自己仓库
我已经fork过了,所以会有下面的提示,没fork过的话选择自己的账户路径就OK了。
如果是较早之前fork的仓库,可以先和上游的仓库同步一下:
4、将代码从自己仓库拉取到本地
Github下载安装,点击链接进入
等待clone完成:
Github为国外网站,所以下载起来会比较慢。
5、创建一个新的分支
6、修改需要修改的部分
加入新的内容
7、提交推送
8、发起PR
填写相关内容
根据要求检查代码:
下面可以看到修改的内容:
检查没问题后点击按钮创建:
此时你就可以在rt-thread仓库看到你发起的PR了:
管理员检测没问题就会合并你的代码进入主仓库了。