大家好,我是程序员柏风,AI 最全的 Vibecoding 学习地图 http://coderoadmap.cn 作者。
Pull Request
Pull Request(PR) 是 GitHub 协作核心:提议把某分支的变更合并进目标分支,附带描述、Review、CI 检查与讨论。本课对应 git-github 路线图 的 pull-requests、pr-guidelines、code-reviews、viewing-diffs。
分支保护与 required checks 在 github-actions-essentials 的 PR 课有 CI 视角;本地 merge 见 git-essentials。
学习目标
- 撰写可 review 的 PR 标题与描述
- 参与 Code Review:comment、request changes、approve
- 阅读 Files changed diff,理解 merge 策略
开 PR 的标准流程
git switch main
git pull upstream main
git switch -c feature/add-validation
# 开发、测试、commit
git push -u origin feature/add-validation
GitHub:Pull requests → New pull request
base: upstream/main ← compare: your-fork/feature/add-validation
PR 描述模板
## 变更说明
- 为用户注册接口增加邮箱格式校验
## 如何测试
1. `npm test`
2. POST /api/register 带非法邮箱应返回 400
## 关联 Issue
Closes #88
## 截图(UI 变更时)
...
标题与 commit 一致:feat(auth): 注册接口邮箱校验。
Code Review 礼仪
作者:
- PR 尽量小(< 400 行 diff 更易 review)
- 自测通过再请求 review
- 积极回复 comment,push 新 commit 会自动出现在 PR
Reviewer:
- 对代码提问,对人尊重
- 使用 Request changes / Approve 明确结论
- 建议用
nit:表示非阻塞小意见
# 根据 review 修改后
git add .
git commit -m "fix: 按 review 调整错误码"
git push origin feature/add-validation
阅读 Diff
Files changed 页:
- 绿色新增、红色删除
- 点行号可写行级 comment
- Viewed 标记已读文件
本地等价:
git diff main...feature/add-validation
三点语法 A...B 表示「从共同祖先到 B」,与 PR diff 一致。
合并策略
| 策略 | 效果 |
|---|---|
| Merge commit | 保留分支拓扑 |
| Squash and merge | main 上一条 commit |
| Rebase and merge | 线性历史,无 merge commit |
受保护分支可强制 PR + Approve + CI 绿勾(见 Actions track)。
练习
- 对 fork 仓开 PR,填写完整描述模板
- 请同学或自己小号做一次 Approve + Comment
- 对比
git diff main...branch与 GitHub Files changed
小结
PR = 变更说明 + 讨论 + 合并门禁。 下一课 Issues:任务跟踪、标签、@ 提及与 emoji reactions。