sidebar_position: 3 sidebar_label: "Git Worktrees" title: "Git Worktrees" description: "Run multiple Hermes agents safely on the same repository using git worktrees and isolated checkouts" lang: ru


Рабочие деревья Git

Агент Hermes часто используется в крупных и долгоживущих репозиториях. Когда вы хотите:

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

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

Зачем использовать рабочие деревья с Hermes?

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

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

Благодаря рабочим деревьям каждый агент получает:

См. также: Проверочные точки и /rollback.

Быстрый старт: создание рабочего дерева

В главном репозитории (содержащем .git/) создайте новое рабочее дерево для функциональной ветки:

# 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

Это создает:

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

cd ../repo-feature

# Start Hermes in the worktree
hermes

Гермес будет:

Параллельный запуск нескольких агентов

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

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

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

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

Безопасная очистка рабочих деревьев

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

  1. Решите, оставить работу или отказаться от нее.
  2. Если вы хотите сохранить его:
  3. Объедините ветку с основной веткой, как обычно.
  4. Удалите рабочее дерево:
cd /path/to/your/repo

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

Примечания:

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

Использование hermes -w (режим автоматического рабочего дерева)

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

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

Гермес будет:

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

hermes -w -q "Fix issue #123"

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

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

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