6.4 KiB
6.4 KiB
基础审查工作流示例
本文档展示一个基础的代码审查工作流,适合初次使用 gitlink-code-review 的用户。
📋 场景描述
场景: 开发者提交了一个 PR,需要快速了解代码变更情况。
目标:
- 获取 PR 基本信息
- 查看变更的文件列表
- 快速浏览代码变更
🔄 工作流程
开始
↓
1. 获取 PR 详情
↓
2. 获取变更文件列表
↓
3. 获取 diff 内容
↓
4. 手动浏览代码变更
↓
完成
🔧 实施步骤
步骤 1:获取 PR 详情
命令:
gitlink-cli pr +view --id 123 --format json
目的: 了解 PR 的基本信息,确认 PR 存在且可访问。
返回结果:
{
"ok": true,
"data": {
"id": 123,
"project_issues_index": 123,
"title": "Feature: Add user authentication",
"body": "This PR adds user authentication...",
"author": {
"login": "developer",
"user_id": 456
},
"status": "open",
"pull_request_status": 0,
"head": "feature/auth",
"base": "main",
"created_at": "2026-06-12T10:00:00Z",
"updated_at": "2026-06-12T10:30:00Z"
}
}
关键信息:
- PR 标题: "Feature: Add user authentication"
- 作者: @developer
- 分支: feature/auth → main
- 状态: 开放中
步骤 2:获取变更文件列表
命令:
gitlink-cli pr +files --id 123 --format json
目的: 了解 PR 修改了哪些文件,代码变更的范围。
返回结果:
{
"ok": true,
"data": {
"files": [
{
"filename": "src/auth/login.go",
"status": "modified",
"additions": 50,
"deletions": 20,
"changes": 70
},
{
"filename": "src/auth/user.go",
"status": "added",
"additions": 80,
"deletions": 0,
"changes": 80
},
{
"filename": "README.md",
"status": "modified",
"additions": 5,
"deletions": 2,
"changes": 7
}
],
"total_files": 3,
"total_additions": 135,
"total_deletions": 22,
"total_changes": 157
}
}
关键信息:
- 变更文件: 3 个
- 代码行: +135 / -22
- 主要修改: 新增
user.go,修改login.go
步骤 3:获取 diff 内容
命令:
gitlink-cli pr +diff --id 123 --format json
目的: 获取完整的代码变更详情,了解具体的修改内容。
返回结果:
{
"ok": true,
"data": {
"diff": "diff --git a/src/auth/login.go b/src/auth/login.go\nindex 1234567..abcdefg 100644\n--- a/src/auth/login.go\n+++ b/src/auth/login.go\n@@ -1,10 +1,15 @@\n package auth\n\n+func login(username, password string) error {\n+\tdb, _ := sql.Open(\"mysql\", dsn)\n+\tquery := \"SELECT * FROM users WHERE username = '\" + username + \"'\"\n+\t...\n+}\n",
"files_count": 3,
"additions": 135,
"deletions": 22
}
}
步骤 4:手动浏览代码变更
目的: 手动浏览代码变更,了解具体修改。
方法 1: 使用 jq 工具美化输出
# 获取 diff 并美化输出
gitlink-cli pr +diff --id 123 --format json | jq '.data.diff'
方法 2: 保存到文件后查看
# 保存 diff 到文件
gitlink-cli pr +diff --id 123 --format json | jq -r '.data.diff' > pr_diff.txt
# 使用文本编辑器查看
cat pr_diff.txt
方法 3: 使用 Git 命令查看
# 检出 PR 分支
git fetch gitlink pull/123/head:feature/auth
git checkout feature/auth
# 查看 diff
git diff main...feature/auth
💡 使用技巧
技巧 1:组合命令快速查看
# 一行命令查看 PR 概要
echo "=== PR 详情 ===" && \
gitlink-cli pr +view --id 123 && \
echo -e "\n=== 变更文件 ===" && \
gitlink-cli pr +files --id 123 && \
echo -e "\n=== 代码行统计 ===" && \
gitlink-cli pr +files --id 123 --format json | jq '{total_files: .data.total_files, total_additions: .data.total_additions, total_deletions: .data.total_deletions}'
技巧 2:过滤特定文件类型
# 只查看 Go 文件的变更
gitlink-cli pr +files --id 123 --format json | \
jq '.data.files[] | select(.filename | endswith(".go"))'
技巧 3:统计变更最多的文件
# 按变更行数排序
gitlink-cli pr +files --id 123 --format json | \
jq '.data.files | sort_by(.changes) | reverse'
📊 输出示例
执行上述步骤后,你将获得:
# PR #123 审查概要
## 基本信息
- **标题**: Feature: Add user authentication
- **作者**: @developer
- **分支**: feature/auth → main
- **状态**: 开放中
## 变更统计
- **文件数**: 3 个
- **代码行**: +135 / -22 (总计 157 行变更)
## 变更文件
1. **src/auth/login.go** (修改)
- +50 / -20 行
- 主要变更:添加登录函数
2. **src/auth/user.go** (新增)
- +80 / -0 行
- 主要变更:新增用户管理模块
3. **README.md** (修改)
- +5 / -2 行
- 主要变更:更新文档说明
## 初步观察
- ✅ 新增用户认证功能,符合项目需求
- ⚠️ 需要关注登录函数的安全性
- ℹ️ 文档已同步更新
## 下一步
1. 详细审查代码变更
2. 检查安全问题
3. 验证功能完整性
🎯 后续行动
完成基础审查后,可以:
-
进行深度审查
- 使用
comprehensive-review-workflow.md进行全面审查
- 使用
-
重点关注问题
- 如果发现安全问题,参考
../references/code-review-security.md - 如果发现性能问题,参考
../references/code-review-performance.md
- 如果发现安全问题,参考
-
添加审查评论
❓ 常见问题
Q: 如何查看大型 PR 的 diff?
A: 大型 PR(>1000 行)建议:
- 分批查看,按文件逐个审查
- 优先查看核心文件
- 使用 Git 命令分页查看
Q: 如何保存审查结果?
A:
# 保存完整的审查数据
gitlink-cli pr +view --id 123 --format json > pr_info.json
gitlink-cli pr +files --id 123 --format json > pr_files.json
gitlink-cli pr +diff --id 123 --format json > pr_diff.json
📚 相关文档
最后更新: 2026-06-12