Можно годами пользоваться гитом и ничего не знать про git worktree. Команда появилась ещё в июле 2015-го, в Git 2.5 и позволяет держать несколько веток одного репозитория в отдельных папках.
Кейсы заявлялись вполне практичные: срочно починить баг, не трогая недописанную фичу, или запустить долгие тесты в одной папке и продолжить разработку в другой. Но в целом-то можно было обходиться переключением веток и stash.
Зато теперь, когда код пишут агенты, worktree практически незаменим.
Один агент пилит фичу, другой пилит фичу, ещё один баг правит. Просто наплодить каждому по ветке не получится. В одной рабочей директории активна только одна ветка.
И вот тут мы расчехляем git worktree, который позволяет создать несколько рабочих копий одного репозитория. В каждой – своя ветка, свои файлы и незакоммиченные изменения. История Git общая, клонировать репозиторий заново для каждой задачи не нужно.
Например, из папки проекта:
git worktree add -b agent/feature ../project-feature HEADgit worktree add -b agent/bugfix ../project-bugfix HEADПолучаются две новые ветки от текущего коммита и две отдельные рабочие копии. Первого агента запускаешь в
project-feature, второго – в project-bugfix, третьего – в исходной рабочей копии. Конфликты при слиянии, конечно, возможны, если задачи затронули одни и те же куски кода. Но это лучше, чем всем вместе менять одну рабочую копию.
В общем, если не пробовали, то категорически рекомендую присмотреться.
#ai #agents