Почему параллельные ветки git спасают мой workflow с агентами

· Владимир Холодов

Кратко: Git worktree позволяет работать одновременно в нескольких ветках в отдельных папках, избегая переключения контекста и merge-конфликтов. Для агентской разработки это означает возможность одновременно тестировать новую логику, экспериментировать с промптами и держать рабочую версию нетронутой.

Когда одна ветка становится узким местом

Я разрабатываю ИИ-агентов для разных ниш - охранные компании, подбор персонала, аналитика. Раньше я работал в одной ветке: пишу фичу для агента, тестирую, коммитю, переключаюсь на следующую задачу. Казалось логично, но на практике это превращалось в хаос. Когда я одновременно разрабатывал два модуля - скажем, улучшение обработки заявок и новую логику аналитики - я вынужден был либо оставлять один модуль незавершённым, либо откатываться назад, теряя время на переключение контекста.

Проблема усугублялась, когда ко мне присоединялась вторая пара рук. Один разработчик занимался core функционалом, а второй должен был работать над новой фичей. Но в одной ветке это означало либо долгие merge-конфликты, либо ожидание завершения первой задачи. Полный стоп для продуктивности.

Git worktree как решение, а не усложнение

Я открыл для себя git worktree - это инструмент, который позволяет работать одновременно в нескольких ветках одного репозитория, каждая в отдельной папке на диске. Звучит просто, но это кардинально меняет рабочий процесс.

Вместо того чтобы делать `git checkout` и перестраивать всё заново, я просто имею на диске три-четыре папки: одна с основной веткой, вторая с фичей для нового агента, третья с экспериментом по оптимизации. Переключение между ними - это просто открыть другую папку. Никаких потерь файлов, никаких переустановок зависимостей, никаких конфликтов в памяти.

Когда я тестирую агента на одной фиче и вижу, что base ветка нужна для срочного багфикса, я просто переходу в папку main-ветки, фиксу баг, коммитю - и моя рабочая фича остаётся нетронутой в другой папке. Параллелизм вместо последовательности.

Как это работает с ИИ-разработкой

В вайб-кодинге это особенно полезно. Я генерирую код через нейросеть для одного модуля, тестирую его в одной worktree-папке, одновременно в другой папке экспериментирую с промптом для другого модуля. Если первый эксперимент не сработал - откатываюсь назад в той же папке, вторая ветка осталась нетронутой.

К примеру, для WAI-Pro я разрабатывал три вещи одновременно: интеграцию с базой кандидатов, новый алгоритм аналитики и улучшение интерфейса приёма заявок. Каждая в отдельной worktree-папке. Я мог быстро переключаться, видеть прогресс на каждой фронте, и когда одна фича была готова - просто делал pull request из её папки.

Практическое применение прямо сейчас

Если вы работаете с агентами, вот что я делаю:

  • Главная папка `main` - здесь всегда рабочая версия агента, которую я могу запустить клиенту
  • Папка `feature/new-module` - разработка новой фичи, может быть в состоянии постоянного тестирования
  • Папка `experiment/prompt-optimization` - здесь я пробую новые промпты и логику без риска сломать остальное
  • Папка `hotfix/bug` - если нужен срочный баг-фикс, я не трогаю текущую разработку

Каждая папка - полностью независимая, со своей историей и своим состоянием кода. Я могу работать в них одновременно, не теряя контекста.

Когда это экономит реальное время

За неделю я могу потратить на переключение между ветками (если работаю классически) от 3 до 5 часов. Переключение контекста, перестройка, поиск того места, где я остановился - всё это складывается. С worktree я избегаю большей части этой траты, потому что переключение между папками занимает секунду, а мозг остаётся в контексте каждой задачи.

Если в команде двое разработчиков - экономия ещё больше. Один работает над core, второй над фичей, третий может тестировать или делать срочный фикс, и никто не ждёт никого.

Простая команда для старта

Начать работать с git worktree просто. Если у вас уже есть репозиторий:

git worktree add ../my-feature feature/my-feature
git worktree add ../my-experiment experiment/prompt
git worktree list

Каждая команда создаёт новую папку-ветку рядом с основной. Вы можете работать в них одновременно, коммитить отдельно, и когда фича готова - обычный pull request и merge.

Что это означает для агентской разработки

ИИ-агенты требуют постоянного экспериментирования. Вы пробуете новую логику, тестируете её, откатываетесь, пробуете по-другому. Worktree позволяет вам делать это без хаоса. Одновременно вы можете держать рабочую версию для клиента, разрабатывать новую фичу и экспериментировать с улучшениями - всё в отдельных папках, все с чистой историей.

Это не волшебство, но это инструмент, который мне экономит часы, позволяет мне быстрее проверять гипотезы и не теряет контекст во время разработки. Если вы ещё не используете worktree - попробуйте на одном небольшом проекте. Уверен, что вернётесь к этому подходу для всех остальных.

Если вы разрабатываете агентов или автоматизацию и хотите оптимизировать свой workflow - я помогу спроектировать архитектуру, которая будет удобна для параллельной разработки. Как AI-архитектор, я подбираю инструменты и подходы под конкретный процесс вашей команды: от выбора инструментов разработки до интеграции ИИ в ваш pipeline.

Буду постепенно исследовать и делиться готовыми связками «от идеи до готового решения»: делайте шаг за шагом, и всё получится.

Читайте также