dsh-tauri-worktree 为会话创建独立 Git 工作树,在隔离目录中修改代码,再按你的选择检出回本地分支或放弃。
- 选择工作树进行
- 在工作树会话中工作

开始隔离工作
- 当前会话位于本地 Git 仓库,宿主可以执行
git。 - 本地必须存在
main分支;新工作树以refs/heads/main为起点,不以当前分支为起点。 - 输入区仅在确认是 Git 仓库、且尚未进入 Worktree 时显示模式选择。
1
明确选择 Worktree
在输入区选择 Worktree 后发送请求,或明确要求 Agent 使用 Worktree。
create_worktree 只能用于本地会话,不能在已有 Worktree 会话中再次调用。2
创建工作树与新会话
默认目录为
~/.dsh/worktrees/[hash]/[dirname];设置 DSH_HOME 后使用其 worktrees 子目录。工具创建后在当前轮次结束时交接上下文;输入区切换会迁移草稿与附件。3
修改、验证并提交
在新目录继续工作。输入区状态栏提供创建进度、日志、检出与放弃入口。
检出或放弃
检出前必须满足以下条件:
- 本地主工作区没有未提交改动,且不处于 detached HEAD。
- 隔离工作树没有未暂存或未跟踪改动;先提交需要保留的内容。
- 隔离工作树仍有暂存改动时,启用
carry_staged,或先提交;否则检出会被拒绝。 - 已存在的目标分支不能被其他工作树占用,也不能含有隔离工作树之外的提交;同提交可复用,落后时可快进。
暂存改动与工具参数
carry_staged 默认 false,只处理 Git index 中的改动。已提交内容不依赖这一开关。
携带过程使用 Git 二进制 diff/apply,不使用仓库共享的 stash。界面检出没有
carry_staged 选项,先提交暂存改动,或明确授权 Agent 使用带该参数的工具。
