promptgarten 🌱
🌍 DE
指南●●○4 分钟 · +30 XP

Git Worktrees:让 AI agent 并行工作

Git worktrees 让你可以同时在不同的文件夹中检出多个 branch——非常适合让多个 coding agent 并行运行。

没有 worktrees 时的问题

通常情况下,一个 Git 仓库同时只能检出一个 branch。如果你让一个 coding agent 处理 feature A,同时又想让第二个 agent 并行处理 feature B,两者就会在同一个文件夹里互相干扰——一旦切换 branch,正在运行的 agent 所在的所有文件就会突然全部变掉。

Worktrees 解决了什么

一个 git worktree 是一个额外的、独立的工作文件夹,用来检出同一个仓库的另一个 branch——所有 worktree 共享同一份 Git 历史记录和对象数据库,但不需要完整地再克隆一份仓库。每个文件夹都有自己独立的文件状态。

为什么这对 AI agent 很实用

这样一来,每个 agent 就可以在自己的文件夹里、在自己的 branch 上独立工作,互不影响——不会互相覆盖文件,能得到干净分离的 diff,最后再正常地做 Git merge。Claude Code 的官方文档正是把这种模式描述为一种让多个 Claude Code session 并行处理不同任务的方法。

基本命令

git worktree add <路径> <branch> 创建一个新的 worktree,git worktree list 显示所有活跃的 worktree,git worktree remove <路径> 则移除一个 worktree。

示例

git worktree add ../projekt-feature-a feature-a git worktree add ../projekt-feature-b feature-b # 现在可以让一个 agent 在 ../projekt-feature-a 中处理 feature A, # 同时让第二个 agent 并行在 ../projekt-feature-b 中处理 feature B。

小测验

对于并行运行的 coding agent 来说,Git worktrees 的主要优势是什么?

来源

相关主题

写给 vibe coder 的 Git 与 GitHub 入门 ●○○Claude Code:Anthropic 的命令行 agent ●●○什么是 subagent? ●●○