Git 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.)`
repost

88

input message

напишите коммент

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

ответить

еще контент автора

еще контент автора

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь