Loading...
Loading...
Compare original and translation side by side
main ──────────────────────────────────────────●
/
PR #3 (final) ─────────────────────────●────┘ ← Merge last
/
PR #2 (middle) ────────────────────●──┘ ← Depends on #1
/
PR #1 (base) ────────────────●── ← Merge first
/
feature/auth ──────●────●────● ← Developmentmain ──────────────────────────────────────────●
/
PR #3 (最终) ─────────────────────────●────┘ ← 最后合并
/
PR #2 (中间) ────────────────────●──┘ ← 依赖于#1
/
PR #1 (基础) ────────────────●── ← 首先合并
/
feature/auth ──────●────●────● ← 开发分支undefinedundefinedundefinedundefinedgit checkout main
git pull origin main
git checkout -b feature/auth-basegit checkout main
git pull origin main
git checkout -b feature/auth-baseundefinedundefinedundefinedundefinedundefinedundefinedgit checkout -b feature/auth-uigit checkout -b feature/auth-ui
---
---undefinedundefinedundefinedundefinedundefinedundefined
---
---undefinedundefined| Order | PR | Status | Branch |
|---|---|---|---|
| 1 | #101 | Merged | feature/auth-base |
| 2 | #102 | Review | feature/auth-service |
| 3 | #103 | Draft | feature/auth-ui |
---| 顺序 | PR | 状态 | 分支 |
|---|---|---|---|
| 1 | #101 | 已合并 | feature/auth-base |
| 2 | #102 | 评审中 | feature/auth-service |
| 3 | #103 | 草稿 | feature/auth-ui |
---#!/bin/bash#!/bin/bash
---
---undefinedundefinedundefinedundefinedDO:
✅ Keep each PR < 400 lines
✅ Make each PR independently reviewable
✅ Document the stack in PR descriptions
✅ Number PRs clearly [1/3], [2/3], [3/3]
✅ Use draft PRs for incomplete stack items
✅ Rebase after feedback, don't merge
DON'T:
❌ Create circular dependencies
❌ Stack more than 4-5 PRs deep
❌ Leave stacks open for > 1 week
❌ Force push to already-approved PRs
❌ Merge out of order建议做法:
✅ 每个PR代码量控制在400行以内
✅ 确保每个PR可独立评审
✅ 在PR描述中记录堆叠结构
✅ 清晰标记PR序号 [1/3], [2/3], [3/3]
✅ 对未完成的堆叠项使用草稿PR
✅ 收到反馈后执行变基,不要合并
不建议做法:
❌ 创建循环依赖
❌ 堆叠超过4-5个PR
❌ 堆叠结构保留超过1周
❌ 对已通过评审的PR执行强制推送
❌ 不按顺序合并undefinedundefinedundefinedundefined