# 让代码代理在 Git Worktree 中执行任务

## 使用场景

当你希望把一次代码任务放到独立分支和独立工作目录中执行，尽量减少对当前工作区的直接影响时，可以用 worktree 模式启动代码代理。

## 操作步骤

1. 先在目标项目的 Git 仓库根目录或其子目录中打开终端。
2. 输入下面的命令，然后按回车：

   `jca -w`

3. 如果你还想同时直接提交一次明确任务，可以把任务一起写在命令后面，例如：

   `jca -w --task "修复支付回调重试逻辑，并补充必要测试"`

4. 启动后，系统会先显示当前分支信息，然后自动为这次任务准备一个新的 worktree 工作目录，并切换过去。
5. 如果你是交互模式，进入会话后继续输入任务内容并提交；如果你已经通过 `--task` 提供任务，系统会直接开始执行。
6. 后续所有分析、修改和验证都会在新的 worktree 目录中进行，而不是直接在原工作目录中进行。

## 你会看到的提示与反馈

- 启用成功时，你会看到 Git Worktree 已启用的提示。
- 系统会显示当前分支，并提示已经切换到新的 worktree 目录。
- 如果主仓库里原本还有未提交修改，系统会先尝试自动提交，再继续创建 worktree。
- 如果当前仓库还没有任何提交记录，系统会先补齐初始提交，再继续创建 worktree。
- 如果 worktree 创建失败，终端会直接提示失败并结束本次运行。

## 注意事项

- 这个功能只适用于 Git 仓库；如果当前目录还不是 Git 仓库，需要先完成仓库初始化。
- worktree 模式主要用于隔离任务现场，适合大改动、并行任务或你不想直接污染当前工作区的场景。
- worktree 启动后，代码代理会在新的工作目录中运行，所以你看到的修改、提交和检查结果都发生在那个独立目录里。
- 如果你的仓库处于特殊状态，导致无法创建分支或 worktree，本次启动会直接失败，不会自动改回普通模式。
