he-bing
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese合并 (Work With PR)
合并 (PR协作)
完整 PR 生命周期管理。从工作树到合并,自动化全流程。
Complete PR lifecycle management. From worktree to merge, automated end-to-end.
完整PR生命周期管理,覆盖从工作树创建到合并的全自动化流程。
Quick Commands
快速命令
| 命令/Command | 功能/Function |
|---|---|
| 启动完整 PR 工作流 |
| 创建 PR |
| 检查验证状态 |
| 查看 PR 状态 |
| Start full PR workflow |
| Create PR |
| Check verification status |
| Check PR status |
| 命令 | 功能 |
|---|---|
| 启动完整PR工作流 |
| 创建PR |
| 检查验证状态 |
| 查看PR状态 |
| 启动完整PR工作流 |
| 创建PR |
| 检查验证状态 |
| 查看PR状态 |
工作流架构/Workflow
工作流架构
┌─────────────────────────────────────────────────────────────────────┐
│ PR 完整生命周期/Complete PR Lifecycle │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ Phase 0: 准备/Preparation │
│ ├── 解析仓库上下文/Resolve repo context │
│ ├── 创建分支/Create branch │
│ └── 设置工作树/Setup worktree (git worktree) │
│ │
│ Phase 1: 实现/Implementation │
│ ├── 实现功能/Implement feature │
│ ├── 原子提交/Atomic commits │
│ └── 本地验证/Local verification │
│ │
│ Phase 2: PR 创建/PR Creation │
│ ├── 推送分支/Push branch │
│ ├── 创建 PR/Create PR (target: dev branch) │
│ └── 填写 PR 模板/Fill PR template │
│ │
│ Phase 3: 验证循环/Verification Loop │
│ ├── Gate A: CI 检查/CI checks │
│ ├── Gate B: 代码审查/Code review │
│ ├── Gate C: Cubic 批准/Cubic approval │
│ └── {任一失败/Any fail → 修复/fix → 重新验证/re-verify} │
│ │
│ Phase 4: 合并/Merge │
│ ├── 压缩合并/Squash merge │
│ ├── 清理工作树/Cleanup worktree │
│ └── 输出合并报告/Output merge report │
│ │
└─────────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────────┐
│ PR完整生命周期 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ Phase 0: 准备阶段 │
│ ├── 解析仓库上下文 │
│ ├── 创建分支 │
│ └── 设置工作树 (git worktree) │
│ │
│ Phase 1: 功能实现 │
│ ├── 开发需求功能 │
│ ├── 原子提交 │
│ └── 本地验证 │
│ │
│ Phase 2: PR创建 │
│ ├── 推送分支 │
│ ├── 创建PR (目标:dev分支) │
│ └── 填写PR模板 │
│ │
│ Phase 3: 验证循环 │
│ ├── 关卡A: CI检查 │
│ ├── 关卡B: 代码审查 │
│ ├── 关卡C: Cubic批准 │
│ └── {任意失败 → 修复 → 重新验证} │
│ │
│ Phase 4: 合并阶段 │
│ ├── 压缩合并 │
│ ├── 清理工作树 │
│ └── 输出合并报告 │
│ │
└─────────────────────────────────────────────────────────────────────┘Phase 0: 准备工作树/Setup Worktree
阶段0:准备工作树
bash
undefinedbash
undefined1. 解析仓库上下文/Resolve context
1. 解析仓库上下文/Resolve context
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
REPO_NAME=$(basename "$PWD")
BASE_BRANCH="dev" # 默认目标分支/Default target
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner)
REPO_NAME=$(basename "$PWD")
BASE_BRANCH="dev" # 默认目标分支/Default target
2. 创建分支/Create branch
2. 创建分支/Create branch
BRANCH_NAME="feature/$(echo "$TASK" | tr '[:upper:] ' '[:lower:]-' | head -c 50)"
git fetch origin "$BASE_BRANCH"
git branch "$BRANCH_NAME" "origin/$BASE_BRANCH"
BRANCH_NAME="feature/$(echo "$TASK" | tr '[:upper:] ' '[:lower:]-' | head -c 50)"
git fetch origin "$BASE_BRANCH"
git branch "$BRANCH_NAME" "origin/$BASE_BRANCH"
3. 创建工作树 (目录外)/Create worktree (outside repo)
3. 创建工作树 (目录外)/Create worktree (outside repo)
WORKTREE_PATH="../${REPO_NAME}-wt/${BRANCH_NAME}"
mkdir -p "$(dirname "$WORKTREE_PATH")"
git worktree add "$WORKTREE_PATH" "$BRANCH_NAME"
WORKTREE_PATH="../${REPO_NAME}-wt/${BRANCH_NAME}"
mkdir -p "$(dirname "$WORKTREE_PATH")"
git worktree add "$WORKTREE_PATH" "$BRANCH_NAME"
4. 设置工作上下文/Setup context
4. 设置工作上下文/Setup context
cd "$WORKTREE_PATH"
[ -f "bun.lock" ] && bun install
undefinedcd "$WORKTREE_PATH"
[ -f "bun.lock" ] && bun install
undefinedPhase 1: 实现功能/Implementation
阶段1:功能实现
markdown
undefinedmarkdown
undefined实现原则/Implementation Principles
实现原则
范围纪律/Scope Discipline
范围规范
- Bug 修复/Bug fix: 最小改动/Minimal changes,只修复 bug+测试
- 新功能/Feature: 按需求实现/As specified,不额外重构/no extra refactor
- 技术债/Tech debt: 单独 PR/Separate PR,不与功能混合/not mixed
- Bug修复:最小改动原则,仅修复bug和补充对应测试
- 新功能:严格按照需求实现,不额外进行重构
- 技术债:单独提交PR,不与功能需求混合提交
原子提交/Atomic Commits
原子提交规范
每个提交应该/Each commit should:
- 完成一个独立功能/Complete one feature
- 有清晰的提交信息/Clear commit message
- 可通过测试/Passes tests
- 不破坏现有功能/No breaking changes
每个提交应当满足:
- 完成一个独立功能点
- 包含清晰的提交信息
- 可通过所有测试用例
- 不破坏现有功能
提交信息格式/Commit Format
提交信息格式
<type>(<scope>): <subject>
<body>
<footer>示例/Example:
feat(auth): 添加 JWT 认证/Add JWT auth
- 实现 JWT 生成和验证/Implement JWT
- 添加认证中间件/Add middleware
- 更新 API 文档/Update docs
Closes #123undefined<type>(<scope>): <subject>
<body>
<footer>示例:
feat(auth): 添加JWT认证
- 实现JWT生成和验证逻辑
- 添加认证中间件
- 更新API文档
Closes #123undefinedPhase 2: 创建 PR/Create PR
阶段2:创建PR
bash
undefinedbash
undefined1. 推送分支/Push branch
1. 推送分支/Push branch
git push -u origin "$BRANCH_NAME"
git push -u origin "$BRANCH_NAME"
2. 创建 PR/Create PR
2. 创建PR/Create PR
gh pr create
--base "$BASE_BRANCH"
--head "$BRANCH_NAME"
--title "<type>: <subject>"
--body-file "pr-template.md"
--base "$BASE_BRANCH"
--head "$BRANCH_NAME"
--title "<type>: <subject>"
--body-file "pr-template.md"
gh pr create
--base "$BASE_BRANCH"
--head "$BRANCH_NAME"
--title "<type>: <subject>"
--body-file "pr-template.md"
--base "$BASE_BRANCH"
--head "$BRANCH_NAME"
--title "<type>: <subject>"
--body-file "pr-template.md"
3. 关联 Issue/Link Issue (if any)
3. 关联Issue/Link Issue (if any)
gh pr edit "$PR_NUMBER" --add-label "bug" --add-label "urgent"
undefinedgh pr edit "$PR_NUMBER" --add-label "bug" --add-label "urgent"
undefinedPhase 3: 验证循环/Verification Loop
阶段3:验证循环
┌─────────────────────────────────────────────────────────────────────┐
│ 验证循环/Verification Loop │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ │
│ │ 开始 │ │
│ └────┬─────┘ │
│ │ │
│ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Gate A: │────▶│ Gate B: │────▶│ Gate C: │ │
│ │ CI │ │ 审查 │ │ Cubic │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ ┌────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐ │
│ │ 通过? │ │ 通过? │ │ 通过? │ │
│ └────┬─────┘ └─────┬─────┘ └─────┬─────┘ │
│ │ │ │ │
│ YES │ NO YES │ NO YES │ NO │
│ ┌────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐ │
│ ▼ ▼ ▼ ▼ ▼ ▼ │
│ [下一门] [修复] [下一门] [修复] [合并] [修复] │
│ │
│ 修复后回到对应的 Gate 重新验证/After fix, re-verify at that gate │
│ │
└─────────────────────────────────────────────────────────────────────┘┌─────────────────────────────────────────────────────────────────────┐
│ 验证循环 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ │
│ │ 开始 │ │
│ └────┬─────┘ │
│ │ │
│ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 关卡A: │────▶│ 关卡B: │────▶│ 关卡C: │ │
│ │ CI │ │ 代码审查 │ │ Cubic │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ ┌────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐ │
│ │ 是否通过?│ │ 是否通过? │ │ 是否通过? │ │
│ └────┬─────┘ └─────┬─────┘ └─────┬─────┘ │
│ │ │ │ │
│ 是 │ 否 是 │ 否 是 │ 否 │
│ ┌────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐ │
│ ▼ ▼ ▼ ▼ ▼ ▼ │
│ [进入下一关] [修复问题] [进入下一关] [修复问题] [合并代码] [修复问题] │
│ │
│ 修复后回到对应关卡重新验证 │
│ │
└─────────────────────────────────────────────────────────────────────┘Gate A: CI 检查
关卡A: CI检查
bash
undefinedbash
undefined检查 CI 状态/Check CI status
检查CI状态
gh pr checks "$PR_NUMBER"
gh pr checks "$PR_NUMBER"
等待 CI 完成/Wait for CI
等待CI执行完成
gh pr checks "$PR_NUMBER" --watch
undefinedgh pr checks "$PR_NUMBER" --watch
undefinedGate B: 代码审查/Code Review
关卡B: 代码审查
markdown
undefinedmarkdown
undefined审查清单/Review Checklist
审查清单
架构/Architecture
架构维度
- 模块划分合理/Good modularity
- 依赖关系清晰/Clear dependencies
- 模块划分合理
- 依赖关系清晰
代码/Code
代码维度
- 命名清晰/Clear naming
- 函数简短/Short functions
- 无重复代码/No duplication
- 命名清晰易懂
- 函数逻辑简洁
- 无重复代码
测试/Tests
测试维度
- 有单元测试/Unit tests
- 测试通过/Tests pass
- 包含单元测试
- 所有测试通过
文档/Docs
文档维度
- 更新了文档/Docs updated
- 有使用说明/Usage examples
undefined- 已更新对应文档
- 包含使用示例
undefinedGate C: Cubic 批准
关卡C: Cubic批准
等待 Cubic-dev-ai bot 的"No issues found"评论。
Wait for Cubic-dev-ai bot comment "No issues found".
等待Cubic-dev-ai机器人评论“No issues found”。
Phase 4: 合并清理/Merge & Cleanup
阶段4:合并与清理
bash
undefinedbash
undefined1. 压缩合并/Squash merge
1. 压缩合并
gh pr merge "$PR_NUMBER" --squash --admin
gh pr merge "$PR_NUMBER" --squash --admin
2. 删除分支/Delete branch
2. 删除远程分支
git push origin --delete "$BRANCH_NAME"
git push origin --delete "$BRANCH_NAME"
3. 清理工作树/Cleanup worktree
3. 清理工作树
git worktree remove "$WORKTREE_PATH"
rm -rf "$WORKTREE_PATH"
git worktree remove "$WORKTREE_PATH"
rm -rf "$WORKTREE_PATH"
4. 返回主工作目录/Return to main
4. 返回原工作目录
cd "$ORIGINAL_PATH"
cd "$ORIGINAL_PATH"
5. 更新主分支/Update main
5. 更新本地基准分支
git fetch origin
git checkout "$BASE_BRANCH"
git pull origin "$BASE_BRANCH"
undefinedgit fetch origin
git checkout "$BASE_BRANCH"
git pull origin "$BASE_BRANCH"
undefined合并报告/Merge Report
合并报告
markdown
undefinedmarkdown
undefinedPR 合并报告/PR Merge Report
PR合并报告
PR: #{number} - {title}
分支/Branch: {branch_name}
合并时间/Merged: {timestamp}
PR: #{number} - {title}
分支: {branch_name}
合并时间: {timestamp}
验证结果/Verification
验证结果
| Gate | 状态/Status | 尝试次数/Attempts |
|---|---|---|
| CI | ✅ | 1 |
| 审查/Review | ✅ | 2 |
| Cubic | ✅ | 1 |
| 关卡 | 状态 | 尝试次数 |
|---|---|---|
| CI | ✅ | 1 |
| 代码审查 | ✅ | 2 |
| Cubic | ✅ | 1 |
提交摘要/Commits
提交摘要
| Hash | 信息/Message |
|---|---|
| abc123 | feat: 添加功能 A/Add feature A |
| def456 | fix: 修复问题 B/Fix issue B |
| Hash | 信息 |
|---|---|
| abc123 | feat: 添加功能A |
| def456 | fix: 修复问题B |
工作树/Worktree
工作树
- 路径/Path: {worktree_path}
- 清理/Cleanup: ✅
- 路径: {worktree_path}
- 清理状态: ✅
后续行动/Next Steps
后续行动
- 通知相关人员/Notify team
- 更新 Issue 状态/Update issues
- 部署验证/Deploy verify
undefined- 通知相关团队成员
- 更新关联Issue状态
- 部署后验证功能
undefined使用示例/Examples
使用示例
示例 1:完整 PR 流程
示例1:完整PR流程
用户/User: /合并 添加用户登录功能/Add user login
→ Phase 0: 创建工作树/Create worktree
→ Phase 1: 实现登录功能/Implement login
→ Phase 2: 创建 PR/Create PR
→ Phase 3: 验证循环/Verify loop (CI/Review/Cubic)
→ Phase 4: 合并清理/Merge & cleanup用户: /合并 添加用户登录功能
→ 阶段0: 创建工作树
→ 阶段1: 实现登录功能
→ 阶段2: 创建PR
→ 阶段3: 验证循环 (CI/审查/Cubic)
→ 阶段4: 合并与清理Example 2: Fix Bug
示例2: 修复Bug
用户/User: /pr fix auth bug in Issue #123
→ 最小改动修复 bug/Minimal fix
→ 添加测试/Add tests
→ 创建 PR/Create PR
→ 验证 → 合并/Verify → Merge用户: /pr fix auth bug in Issue #123
→ 最小改动修复bug
→ 添加对应测试
→ 创建PR
→ 验证 → 合并Rules
规则参考
- rules/worktree.md - 工作树管理/Worktree
- rules/commit-atomic.md - 原子提交/Atomic Commits
- rules/verification.md - 验证循环/Verification
- rules/worktree.md - 工作树管理规范
- rules/commit-atomic.md - 原子提交规范
- rules/verification.md - 验证流程规范
配置选项/Configuration
配置选项
| 参数/Param | 默认值/Default | 说明/Description |
|---|---|---|
| base_branch | dev | 目标分支/Target branch |
| worktree_parent | ../ | 工作树父目录/Parent dir |
| max_review_cycles | 5 | 最大审查循环/Max cycles |
| 参数 | 默认值 | 说明 |
|---|---|---|
| base_branch | dev | 合并目标分支 |
| worktree_parent | ../ | 工作树父目录 |
| max_review_cycles | 5 | 最大审查循环次数 |