Pull Request 流程
Pull Request(PR)是 GitHub 的代码合并请求机制,用于提交变更和代码审核。
什么是 Pull Request
PR 是请求将一个分支的变更合并到另一个分支:
- 展示所有变更内容
- 支持讨论和审核
- 可以修改和完善
- 合并后关闭 PR
PR 创建流程
步骤1:推送分支
Bash
# 创建功能分支
git checkout -b feature/login
# 开发并提交
git add .
git commit -m "Add login feature"
# 推送到远程
git push -u origin feature/login
步骤2:创建 PR
Bash
# GitHub 网站操作
# 1. 进入仓库页面
# 2. 点击 "Compare & pull request"
# 3. 选择源分支和目标分支
# 4. 填写标题和描述
# 5. 点击 "Create pull request"
步骤3:填写 PR 信息
Bash
标题:添加用户登录功能
描述:
## 功能说明
- 实现用户登录验证
- 支持记住密码功能
- 添加登录日志记录
## 测试说明
- 单元测试已通过
- 手动测试完成
## 相关 Issue
Fixes #123
PR 页面组成
| 部分 | 内容 |
|---|---|
| 标题 | PR 简要描述 |
| 描述 | 详细说明、测试、关联 Issue |
| Commits | 提交列表 |
| Files changed | 文件变更差异 |
| Conversation | 讨论和评论 |
| Checks | CI/CD 检查结果 |
PR 审核流程
Bash
创建 PR → 自动检查 → 人工审核 → 修改完善 → 合并
↓ ↓ ↓ ↓
等待 CI 运行 代码审查 更新 PR
PR 状态
| 状态 | 说明 |
|---|---|
| Open | 待审核 |
| Review required | 需要审核 |
| Changes requested | 需要修改 |
| Approved | 审核通过 |
| Merged | 已合并 |
| Closed | 已关闭(未合并) |
PR 审核操作
Bash
# 审核者在 GitHub 操作
# 1. 查看代码变更
# 2. 添加行级评论
# 3. 选择审核结果:
# - Approve:批准
# - Request changes:要求修改
# - Comment:仅评论
PR 期间修改
Bash
# PR 作者继续开发
git checkout feature/login
git add .
git commit -m "Fix login bug"
git push origin feature/login
# PR 自动更新,包含新提交
同步上游更新
text
# PR 期间目标分支有更新
git fetch origin
git checkout feature/login
git rebase origin/main
git push origin feature/login -f
# PR 更新,基于最新的 main
PR 合并方式
| 方式 | 说明 | 适用场景 |
|---|---|---|
| Merge commit | 创建合并提交 | 保留完整历史 |
| Squash merge | 合并为一个提交 | 清理历史 |
| Rebase merge | 变基合并 | 线性历史 |
关闭 PR
text
# PR 被拒绝或放弃
# GitHub 点击 "Close pull request"
# 或合并后自动关闭
PR 是代码协作的核心工具,良好的 PR 信息有助于审核。
要点总结
- 推送分支后在 GitHub 创建 PR
- PR 信息包含标题、描述、测试说明
- 审核者可以 Approve/Request changes/Comment
- PR 期间可以继续推送更新
- 合并方式:Merge/Squash/Rebase
📝 发现内容有误?点击此处直接编辑