Почему параллельные ветки 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.
Буду постепенно исследовать и делиться готовыми связками «от идеи до готового решения»: делайте шаг за шагом, и всё получится.