203
Ветки и рабочие деревья
Два агента в одной папке правят одни файлы и мешают друг другу. Ветка отделяет работу каждого агента от main, рабочее дерево даёт ему свою копию папки. Ветки и pull request дают проверить работу агента до того, как она попадёт в main.
Ветки: параллельная работа рядом с main
Когда в папке работает один агент, ему хватает основной линии. Как только агентов двое или правка большая и рискованная, нужна возможность работать рядом с основной версией и не трогать её.
Для этого есть ветки. Ветка похожа на параллельную вселенную: всё то же самое, но чем-то отличается. Главная ветка называется main. Это версия, с которой работает "клиент": вы, ваши отделы и все, кто читает папку. Каждый агент делает свою задачу в своей ветке, и пока работа не принята, main не меняется.
Создавать ветки руками не нужно: скажите агенту "работай в отдельной ветке". После слияния ветка больше не нужна. Удалять её сразу не обязательно: ветки почти ничего не весят и работе не мешают, со временем они только захламляют список. Раз в неделю, например на ретро, скажите агенту "удали ветки, которые уже влиты в main".
Рабочее дерево: своя копия для каждого агента
Ветка решает вопрос "чья это версия", но живёт в той же папке. Если в одной папке одновременно работают два агента, они переключают ветки друг у друга под ногами и правят одни и те же файлы. Один сохранил, второй перезаписал, и правки перемешались.
Рабочее дерево это отдельная копия проекта в другой папке, привязанная к своей ветке. Агент делает копию проекта один в один, кладёт её в другое место и работает там. Основная папка остаётся нетронутой. Это самый безопасный режим работы с агентами.
На схеме штаб это главная папка с правилами и задачами для агента.
Запускаете второго агента в том же проекте, добавьте к задаче "в отдельном рабочем дереве". Многие агенты делают это сами: Claude Code создаёт рабочее дерево, когда получает задачу работать в ветке.
Есть приложения, где у каждого агента своё рабочее дерево по умолчанию: Conductor и Orca. В них много агентов работают в одном окне, каждый в изолированной копии. Orca требовательна к памяти: на 16 ГБ тесно, комфортно от 32 ГБ. Если памяти мало, тот же режим даёт обычный агент в терминале.
Слова, которыми агенту ставят задачу про Git
- Ветка
Отдельная линия работы рядом с main. Похоже на черновик договора, который правят, пока подписанная версия действует. Агенту: "Работай в отдельной ветке".
- Рабочее дерево
Копия папки для одного агента, привязанная к его ветке. Похоже на отдельную комнату для подрядчика: его бумаги не смешиваются с вашими. Агенту: "Сделай это в отдельном рабочем дереве".
Где правки смешиваются
- Два агента в одной папке. Агенты правят одни файлы и переключают ветки друг у друга, правки перемешиваются. Было: второй агент запущен в той же папке, "чтобы быстрее". Стало: у каждого агента своя ветка и своё рабочее дерево.
Работа агента теперь лежит в своей ветке рядом с main. Как вернуть её в main и посмотреть до слияния, разобрано в следующей главе «Pull request».