使用 Git Worktrees 运行并行会话

假设你需要同时处理多个任务,并在 Claude Code 实例之间完全隔离代码。

了解 Git worktrees

Git worktrees 允许你将同一仓库的多个分支检出到单独的目录中。每个 worktree 都有自己的工作目录和隔离的文件,同时共享相同的 Git 历史记录。在官方 Git worktree 文档中了解更多。

创建新的 worktree

# 使用新分支创建新的 worktree
git worktree add ../project-feature-a -b feature-a
 
# 或使用现有分支创建 worktree
git worktree add ../project-bugfix bugfix-123

这会创建一个新目录,其中包含仓库的单独工作副本。

在每个 worktree 中运行 Claude Code

# 导航到你的 worktree
cd ../project-feature-a
 
# 在这个隔离环境中运行 Claude Code
claude

在另一个 worktree 中运行 Claude

cd ../project-bugfix
claude

管理你的 worktrees

# 列出所有 worktrees
git worktree list
 
# 完成后删除 worktree
git worktree remove ../project-feature-a

提示:

  • 每个 worktree 都有自己独立的文件状态,非常适合并行的 Claude Code 会话
  • 在一个 worktree 中所做的更改不会影响其他 worktrees,防止 Claude 实例相互干扰
  • 所有 worktrees 共享相同的 Git 历史记录和远程连接
  • 对于长时间运行的任务,你可以让 Claude 在一个 worktree 中工作,同时在另一个 worktree 中继续开发
  • 使用描述性的目录名称,以便轻松识别每个 worktree 的任务
  • 记住根据项目的设置在每个新的 worktree 中初始化开发环境。根据你的技术栈,这可能包括:
    • JavaScript 项目:运行依赖安装(npm installyarn)
    • Python 项目:设置虚拟环境或使用包管理器安装
    • 其他语言:遵循项目的标准设置流程

MIT 2025 © Nextra.
CC Club返回官网