← ClaudeAtlas

rebaselisted

诊断本地分支分叉并按清单引导完成 rebase,历史保持 FF 直线
pkulijing/claude-code-global · ★ 0 · AI & Automation · score 56
Install: claude install-skill pkulijing/claude-code-global
用户调用此 skill 表示当前本地有分支分叉,需要通过 rebase 把分叉整理成直线历史。 ## 参数说明 调用时可附带参数(args),支持以下几种形式: | 参数 | 含义 | 示例 | | ---------- | ------------------------------------------------- | ------------------ | | (无) | 把**当前分支** rebase 到 `master` 上(默认 base) | `/rebase` | | `<base>` | 把**当前分支** rebase 到指定的 `<base>` 上 | `/rebase develop` | | `abort` | 当前正处于 rebase 中间状态,放弃本次 rebase | `/rebase abort` | | `continue` | 当前正处于 rebase 中间状态,解决完冲突后继续 | `/rebase continue` | **要求**: - 当前分支必须是**要被 rebase 的分支**(而不是 base 本身)。若当前分支就是 base(例如无参时当前分支是 `master`),立即停下告知人类。 - 若人类想整理另一条分支,应先自行切到那条分支(或在对应 worktree 内调用)。 - `abort` / `continue` 只在 `.git/rebase-*` 存在时才有效;若当前没有进行中的 rebase,应告知人类并退出。 - 无论是否带参数,**阶段 0 的诊断步骤都要跑**,让人类看到状态再动手。 ## 核心原则(违反任一原则都应立刻停下来问人类) 1. **只处理本地**:不执行 `git fetch` / `git pull`。远程同步由人类在调用前自行完成。 2. **所有合并必须 FF**:严禁生成 merge commit。rebase 完成后用 `git merge --ff-only`;若 FF 失败,继续 rebase 直到能 FF,**绝不 fallback 到普通 merge**。 3. **个人分支才 rebase**:如果要被 rebase 的分支是 `master` / `main`、或是已被他人 review 的公共分支,立即停下问人类。 4. **数据优先于直线历史**:一旦出现看不懂的状态,宁可 `git rebase --abort` + `git reset --hard <备份 tag>` 回退,也不要强行推进。 5. **不支持交互式 rebase**:不使用 `-i`;如需合并/重排 commit,请人类手动处理。 6. **默认静默直行,风险才停(risk gates)**:诊断方向明确且无风险时,诊断 → 备份 → rebase → FF 合并**一气呵成、不逐阶段等确认**,末尾汇报结果即可。无冲突的 rebase 本该近乎瞬间完成,不该被反复「停下 → 等 OK」拖住。**仅在命中下面这份「必停清单」时才停下、说明原因、等人类决策**: - 分叉方向不明 / 诊断看不清; - 当前分支就是 base(如无参时当前分支是 `master`); - 要 rebase 的是 `master` /