Skip to content

Pull Request 不是拉取代码,而是请求检查并合并 ​

一句话先说清楚 ​

Pull Request,常缩写为 PR,是你在 GitHub 上发出的一份合并申请:

请检查 fix-homepage-typo 分支和 main 的差别;如果没有问题,请把这些变化合并进 main。

它不是一段代码,也不是 git pull 命令。它是围绕一组代码变化建立的讨论和检查页面。

什么时候使用 PR ​

  • 你在团队项目中完成一个功能,想让同事检查。
  • 你修改开源项目,想请维护者接收。
  • 你独立工作,但想在合并前集中检查 diff 和自动测试。
  • 部署规则要求只有合并到 main 才能上线。

发 PR 以前必须有什么 ​

假设你已经完成:

text
本地分支:fix-homepage-typo
修改内容:首页错别字
本地验证:页面可以正常打开
Commit:修正首页标题错别字
Push:分支已经上传 GitHub

如果分支还只在电脑上,GitHub 看不到它,也无法比较和创建 PR。

在 GitHub 创建 PR 的完整操作 ​

方法一:使用提示按钮 ​

Push 新分支后打开 GitHub,页面通常显示 Compare & pull request。点击它。

方法二:手动创建 ​

  1. 打开仓库的 Pull requests 标签。
  2. 点击 New pull request。
  3. 设置 base: main。
  4. 设置 compare: fix-homepage-typo。
  5. 先查看 Files changed,确认只有预期变化。
  6. 点击 Create pull request。

Base 和 Compare 到底怎么看 ​

text
base: main

意思是:修改最后准备进入哪里。

text
compare: fix-homepage-typo

意思是:拿哪条分支的变化来申请。

如果选反,页面可能显示大量奇怪变化。不要直接提交,先重新选择。

标题和说明具体写什么 ​

不清楚的标题:

text
Update files

一眼能懂的标题:

text
修正首页标题中的错别字

说明可以照这个结构写:

text
做了什么
- 把首页“我的笔计”改成“我的笔记”

为什么修改
- 当前标题有错别字

怎样验证
- 运行 npm run dev
- 打开首页确认标题正确

PR 页面上的东西分别是什么 ​

Conversation ​

说明、讨论和审核意见所在的位置。

Commits ​

这次 PR 包含哪些版本存档。

Checks ​

自动构建、测试、代码规范检查。绿色通常表示通过,红色表示至少有一项失败。

Files changed ​

最终要进入 base 分支的逐行变化。合并前一定看这里。

Review ​

别人可以批准、留言,或者要求修改。

别人要求修改以后怎么办 ​

不需要关闭 PR,也不需要重新建一个 PR。

继续在同一条本地分支修改:

bash
git switch fix-homepage-typo
git status
git diff
git add docs/index.md
git commit -m "根据审核意见调整标题"
git push

Push 完成后,原来的 PR 会自动出现新 commit 和最新 diff。

Merge 发生了什么 ​

检查通过后,拥有权限的人点击 Merge。此时分支中的修改正式进入 base 分支。

text
PR 打开     只是提出申请
Review      检查和讨论
Merge       接受变化进入 main
Deploy      是否上线还要看项目部署规则

PR、Issue、Commit 和 Merge 不要混 ​

Issue ​

记录问题或需求,例如“首页有一个错别字”。它可以还没有代码。

Commit ​

一个有说明的代码版本,存在于分支上。

Pull Request ​

把一条分支的变化拿出来讨论、检查并申请合并。

Merge ​

真正把变化接入目标分支的动作。

常见失败 ​

GitHub 说没有可以比较的变化 ​

可能是分支没有新 commit、没有 push,或者 base 和 compare 选成同一条分支。

Merge 按钮是灰色 ​

可能还在等待自动检查、需要审核批准、存在冲突,或者你没有合并权限。

PR 合并了但本地 main 还是旧的 ​

合并发生在 GitHub。回到电脑运行:

bash
git switch main
git pull --ff-only
PR 已经打开,但维护者要求你再改一处。应该关掉 PR 重来吗?

答案:通常不用。回到同一条分支继续修改、commit 和 push,原 PR 会自动更新。

写给想驾驭 AI,而不只是依赖 AI 的 Vibe Coder。