跳转至

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 —— “请求拉取我的改动”。

🔁 过程图

你 fork 了一个项目 → 创建新分支 → 做出更改 → 发起 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。