---
title: "让 AI 编程任务各用一个目录：Git worktree 的创建、验收与收尾"
slug: "git-worktree-ai-coding-tasks"
kind: "runbook"
version: "1.0"
status: "reviewed"
compatibility: "支持 git worktree 的 Git 仓库；存在子模块或由应用托管的工作目录时先遵循相应限制。"
risk_level: "medium"
requires_approval: true
updated_at: "2026-10-19T00:32:27.712Z"
verified_at: ""
source: "https://blog.atlankj.com/posts/git-worktree-ai-coding-tasks"
---

# 目标

为两个已授权的开发任务创建独立目录和分支，记录基线及交付检查。

# 前置条件

- 已授权创建工作目录和分支。
- 已检查仓库指令、当前状态与现有 worktree。
- 已明确两个任务范围和期望起点。
- 应用托管的 worktree 使用应用提供的生命周期工具。

# 输入

仓库位置、两个目标路径、唯一分支名、确认过的提交起点、任务范围及验收方法。

# 约束

- 不重置现有文件，不复制凭据，不覆盖已有目录或分支。
- 不把 HEAD 自动视为远端主分支。
- 不使用 -B 或 --force 绕过冲突。
- 不执行实际多 Agent 分派，除非用户另行授权。
- 未授权时不合并、推送或删除目录。

# 操作步骤

1. 检查 git status --short、git worktree list 和 git rev-parse HEAD。
2. 确认输入基线；列出原目录未提交修改，不自动带入。
3. 对每个任务执行 git worktree add -b <唯一分支> <新路径> <确认的起点>。
4. 分别核对实际目录、分支、提交和项目指令。
5. 为每个任务写清允许修改范围、验证命令、端口与数据隔离约定。
6. 仅执行已授权的任务；分别检查状态与差异。
7. 汇报目录、分支、修改、验证结果和待整合事项。
8. 收尾仅在获得删除授权并确认成果及忽略文件已保留后，使用应用工具或 git worktree remove。

# 输出结果

任务到目录及分支的映射、提交基线、差异摘要和验证记录。

# 验证方法

- 每个 worktree 路径和分支唯一，提交起点符合输入。
- 每个任务只修改获准范围。
- 外部测试资源不发生意外冲突。
- 收尾前已保存所有需要保留的成果。

# 异常处理

- 路径或分支占用：停止创建该目标，选择新名称。
- 基线不明确：先展示候选提交供确定。
- remove 被拒绝：检查修改、未跟踪和忽略文件，不强制删除。
- 子模块限制：遵循 Git 手册及项目规定，不绕过限制。

# 回滚方式

保留用户原始工作目录。新增 worktree 的撤销只在成果已保存、文件检查完成且有删除授权时执行；不自动删除分支，不运行破坏性恢复命令。

# 参考来源

https://git-scm.com/docs/git-worktree

资料核对日期：2026-10-19。示例对照官方文档编写，未在读者环境实测。
