Руководитель группы в Magneex веб-студия
· 11.08Git Worktree позволяет работать с несколькими ветками одновременно в одном репозитории, используя разные рабочие директории. Это избавляет от необходимости клонировать репозиторий несколько раз или постоянно переключать ветки.
- Каждая ветка "живёт" в отдельной директории, но все они связаны с одним репозиторием (общие объекты .git).
- Можно редактировать код в одной ветке, запускать тесты в другой, просматривать историю в третьей — без git switch.
`git worktree add <путь/к/папке> <ветка> // Добавляем git worktree list // Выводим список текущих git worktree remove <путь/к/папке>
- Экономия места: Нет дублирования истории (общий .git).
- Изоляция: Каждая ветка в отдельной папке.
- Производительность: Не нужно переключать ветки для мелких задач.
Казалось бы, а в чем сложность перейти на другую ветку? Мне видится полезность при таком сценарии: У тебя есть фича, которая делается достаточно долго. И тут тебе прилетает задачка подвигать по экрану кнопку. Чтобы перейти на main-ветку, придется совершить много телодвижений. Если же настроить main и feature ветки как git worktree - не надо никуда переключаться.
В чем же отличие от сценария, когда проект просто клонируется в разные папки несколько раз?
- Все рабочие деревья делят один .git-каталог (объекты, история, конфиги).
- Изменения мгновенно видны во всех рабочих деревьях.
- Все ветки контролируются из единого хранилища. (git branch, git log e.t.c.)`
· 23.08
О, звучит как что-то что мне нужно было год назад. У нас был в одном репозитории и фронт и бэк и их разработка велась параллельно, по итогу у меня было локально два проекта, и было действительно не очень удобно переключаться между ними.
ответить
еще контент автора
еще контент автора
Руководитель группы в Magneex веб-студия
· 11.08войдите, чтобы увидеть
и подписаться на интересных профи