Skip to content

docs(fork): P0b 默认继承 WIP, 加 --clean 显式跳过#251

Merged
lishuceo merged 1 commit into
mainfrom
feat/p0b-wip-fork-doc
May 27, 2026
Merged

docs(fork): P0b 默认继承 WIP, 加 --clean 显式跳过#251
lishuceo merged 1 commit into
mainfrom
feat/p0b-wip-fork-doc

Conversation

@lishuceo
Copy link
Copy Markdown
Owner

Summary

  • 把场景 A (已 setup_workspace) 的 fork 默认行为从「干净 HEAD」改成「继承父话题的 staged/unstaged/untracked」
  • 实现手段:git stash create -u 拿到 stash commit object 后到子 worktree 上 apply — 父工作树完全不被动
  • 新增 `/fork --clean` 显式 opt-out,从干净 HEAD 起步
  • 同步更新失败回滚表 + 关键决策表

动机

姜黎反馈:绝大多数 fork 场景是「当前进行中的工作上分两条路试」,带 WIP 才符合直觉。原方案默认 stash 后干净起点违反 fork 本意。

Test plan

  • 仅文档改动,无代码变更
  • front matter last_updated 已同步

- 场景 A fork 默认带过父话题的 staged/unstaged/untracked
  (用 git stash create -u 生成 stash object,父工作树完全不动)
- /fork --clean 显式从干净 HEAD 起步
- 关键决策表 + 失败回滚表同步更新

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 27, 2026

Claude finished @lishuceo's task in 47s —— View job


✅ Approved — 文档变更合理

Review checklist

  • 检查既有 inline 评论(无)
  • 阅读 PR 改动 + plan 全文
  • 验证 git stash 行为描述的准确性
  • 检查 front matter / 决策表 / 回滚表的一致性

分析

这是纯文档改动(docs/plans/plan-8-session-fork.md,+18/-8),把 P0b 场景 A 的默认 fork 行为从「干净 HEAD」改成「继承父话题 WIP」。

技术准确性

  • git stash create -u 的描述是准确的:只生成 stash commit object,不动工作树、不入 stash 栈
  • ✅ 「父无 WIP 时返回空字符串」的边界处理对(if [ -n "$STASH_REF" ] 检查正确)
  • ✅ 失败回滚表新增「⚠️ 父工作树未被动过,无需回滚」与 stash create 的不污染特性自洽
  • ✅ 决策表新增条目动机表述清晰

一处可以更准确的小点(低优先级,不阻塞合入)

第 114 行:

子 worktree apply 后所有改动都是 unstaged(staged/unstaged 区分会丢失);如果业务上一定要保留 index 状态,需要额外 git diff --cachedgit apply --cached,P0b 暂不做

更直接的方式是 git stash apply --index $STASH_REF,它本就支持恢复 index 状态。git diff --cached | git apply --cached 是绕远了。当然 P0b 不做这件事的结论本身没问题,这只是路径选择的措辞建议。

意图与一致性

  • 决策动机(姜黎反馈:fork 本意=「当前进行中的工作上分两条路试」)合理
  • --clean opt-out 提供逃生口
  • front matter last_updated 已同步
  • UI/UX 章节、决策表、回滚表三处同步更新,无遗漏

评价

文档质量高,关键决策有「为什么」、有「副作用」、有「opt-out」。可以合入。
| feat/p0b-wip-fork-doc

@lishuceo lishuceo merged commit 93e9fcd into main May 27, 2026
4 checks passed
@lishuceo lishuceo deleted the feat/p0b-wip-fork-doc branch May 27, 2026 09:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant