name: 管理Git工作流程 description: HASH的Git工作流程,包括分支命名、PR创建和PR评审。在创建分支、提交代码、打开pull request或评审PR时使用。 license: AGPL-3.0 metadata: triggers: type: domain enforcement: suggest priority: high keywords: - git - branch - pull request - PR - commit - merge - review intent-patterns: - “\b(创建|打开|提交|评审)\b.?\b(PR|pull request|分支)\b" - "\b(命名)\b.?\b分支\b” - “\bH-\d+\b”
管理Git工作流程
标准化HASH开发的Git工作流程,确保代码变更与Linear问题之间的可追溯性。
分支命名
格式: <shortname>/h-XXXX-description
shortname: 开发者标识(首字母、昵称等)h-XXXX: Linear问题编号(小写’h’)description: 简要的连字符分隔描述
示例:
t/h-4892-support-baseurl-and-version-filteralice/h-1234-add-user-authenticationbob/h-5678-fix-database-connection
为什么重要:
- 将代码变更链接到Linear问题
- 支持问题进度跟踪
- 保持清晰的开发历史
Pull Request 创建
PR 标题格式
格式: H-XXXX: Description
- 在PR标题中使用大写’H’(与分支名称不同)
- 保持描述清晰简洁
示例:
H-4922: 添加分支命名说明H-1234: 实现用户认证系统H-5678: 修复数据库连接超时
PR 模板
使用 .github/pull_request_template.md 中的模板。关键部分:
- 目的 - 高层解释做什么和为什么
- 相关链接 - Linear问题、讨论、上下文
- 这是什么变更? - 具体的实施细节
- 预合并检查清单:
- 可发布库变更(npm/Cargo)
- 文档要求
- Turbo Graph 影响
- 已知问题 - 故意的遗漏或限制
- 后续步骤 - 计划中的跟进
- 测试 - 自动化测试覆盖率
- 如何测试 - 手动测试说明
- 演示 - 截图或视频
PR 评审流程
步骤1:收集信息
运行这些命令获取完整上下文:
# 查看PR元数据、描述和评论
gh pr view <PR_NUMBER> --comments
# 查看所有变更(不要截断)
gh pr diff <PR_NUMBER>
# 查看内联差异评论
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/hashintel/hash/pulls/<PR_NUMBER>/comments
重要: 始终查看完整差异。不要管道到 head 或使用 --name-only。
步骤2:检查Linear问题
在PR标题/描述中查找 H-XXXX 引用,然后获取问题:
# 如果配置了Linear MCP:
mcp__linear__get_issue --issueId "H-XXXX"
# 或使用Linear web UI
使用Linear问题要求作为评审的基准。
步骤3:提供反馈
- 精确定位问题位置(文件:行)
- 包括改进建议
- 引用相关代码标准
- 区分阻塞性问题与建议
快速参考
| 操作 | 格式 |
|---|---|
| 分支名称 | <shortname>/h-XXXX-description |
| PR 标题 | H-XXXX: Description |
| 查看PR | gh pr view <NUMBER> --comments |
| 查看差异 | gh pr diff <NUMBER> |
| 查看评论 | gh api /repos/hashintel/hash/pulls/<NUMBER>/comments |