Git Worktrees

Hermes Agent часто используется в больших, долгоживущих репозиториях. Когда вам нужно:

Worktrees (рабочие деревья) Git — это самый безопасный способ дать каждому агенту свою собственную рабочую копию без дублирования всего репозитория.

На этой странице показано, как объединить worktrees с Hermes, чтобы каждый сеанс имел чистый, изолированный рабочий каталог.

Зачем использовать Worktrees с Hermes?

Hermes считает текущий рабочий каталог корнем проекта:

Если вы запускаете несколько агентов в одной рабочей копии, их изменения могут мешать друг другу:

С worktrees каждый агент получает:

См. также: Checkpoints and /rollback.

Быстрый старт: Создание Worktree

Из вашего основного репозитория (содержащего .git/) создайте новый worktree для ветки функции:

# From the main repo root
cd /path/to/your/repo

# Create a new branch and worktree in ../repo-feature
git worktree add ../repo-feature feature/hermes-experiment

Это создаст:

Теперь вы можете перейти в новый worktree и запустить там Hermes:

cd ../repo-feature

# Start Hermes in the worktree
hermes

Hermes будет:

Запуск нескольких агентов параллельно

Вы можете создать несколько worktrees, каждый со своей собственной веткой:

cd /path/to/your/repo

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

В отдельных терминалах:

# Terminal 1
cd ../repo-experiment-a
hermes

# Terminal 2
cd ../repo-experiment-b
hermes

Каждый процесс Hermes:

Это особенно полезно, когда:

Безопасная очистка Worktrees

Когда вы закончите с экспериментом:

  1. Решите, сохранить или отбросить работу.

  2. Если вы хотите сохранить её:

  3. Слейте ветку с вашей основной веткой как обычно.

  4. Удалите worktree:

cd /path/to/your/repo

# Remove the worktree directory and its reference
git worktree remove ../repo-feature

Примечания:

Лучшие практики

Использование hermes -w (Автоматический режим Worktree)

Hermes имеет встроенный флаг -w, который автоматически создает одноразовый worktree git с собственной веткой. Вам не нужно настраивать worktrees вручную — просто перейдите в ваш репозиторий и выполните:

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

Hermes будет:

Это самый простой способ получить изоляцию worktree. Вы также можете объединить его с одним запросом:

hermes -w -q "Fix issue #123"

Для параллельных агентов откройте несколько терминалов и запустите hermes -w в каждом — каждый вызов автоматически получает свой собственный worktree и ветку.

Собираем всё вместе

Эта комбинация даёт вам: