🤖HermesBlog
Hermes 官方教程 · 第15篇2026/8/9· Easy Understand Hermes Agent

第十五篇:多分支并行——Git Worktrees 工作区

Hermes Agent 官方教程第十五篇:用 Git Worktrees 让多个 AI 在同一个项目里并行干活。

这篇讲的是:如何用 Git Worktrees 给每个 Hermes 智能体一个独立的“工位”,让它们在同一项目里并行干活互不干扰。


你是不是遇到过这种情况:同一个项目,想同时跑两个实验——一个重构代码,一个修 bug,结果两个智能体在同一个文件夹里改来改去,互相覆盖文件,乱成一锅粥?

Git Worktrees 就是解决这个问题的“分房间”工具。它让你从同一个仓库里“变”出多个独立的文件夹,每个文件夹都有自己的分支和文件副本,就像给每个智能体分配了一间单独的办公室,各干各的,互不打扰。

第1步:创建一个 Worktree(新工位)

假设你的项目在 /path/to/your/repo,打开终端,输入:

cd /path/to/your/repo
git worktree add ../repo-feature feature/hermes-experiment

这条命令会做两件事:

  • 在仓库外面新建一个文件夹 ../repo-feature
  • 在里面创建一个新分支 feature/hermes-experiment

现在,你有了一个全新的、干净的“工位”。

第2步:在 Worktree 里启动 Hermes

cd ../repo-feature
hermes

Hermes 会把 ../repo-feature 当作项目根目录,所有文件修改、工具调用都在这个文件夹里进行。它的回滚历史(/rollback)也是独立的,不会影响主仓库。

第3步:并行运行多个智能体

想同时跑两个实验?再建一个工位:

git worktree add ../repo-experiment-b feature/hermes-b

然后开两个终端:

# 终端1
cd ../repo-experiment-a
hermes

# 终端2
cd ../repo-experiment-b
hermes

两个智能体各干各的,一个改 feature/hermes-a,一个改 feature/hermes-b,互不干扰。非常适合批量重构、对比不同方案

第4步:干完活,清理工位

实验结束,把分支合并回主分支后,清理工位:

cd /path/to/your/repo
git worktree remove ../repo-feature

注意:如果有未提交的改动,Git 会拒绝删除,除非你强制(--force)。删除工位不会自动删除分支,分支可以留着做参考。

偷懒技巧:hermes -w 自动工位模式

不想手动建工位?Hermes 自带 -w 参数,自动帮你创建临时工位:

cd /path/to/your/repo
hermes -w

它会自动在 .worktrees/ 下建一个临时文件夹,开一个独立分支,跑完即走。配合单次查询:

hermes -w -z "修复 issue #123"

并行跑多个智能体?每个终端都执行 hermes -w,自动各得一个独立工位,省心省力。

最佳实践小结

  • 一个实验一个工位:每个大改动建独立分支,PR 小而清晰
  • 频繁提交:用 git 记录里程碑,用 /rollback 兜底工具误操作
  • 别在裸仓库根目录跑 Hermes:用工位目录,职责分明

总结:Git Worktrees 就是给每个智能体一间独立办公室——独立分支、独立文件、独立回滚历史,并行干活不打架。配合 hermes -w 自动模式,更是零门槛上手。

下篇预告:智能体跑完活,怎么把成果安全地合并回主分支?下一篇我们聊聊 分支合并与冲突解决,敬请期待!

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/worktrees