Git worktree: работать с двумя ветками в разных папках
git worktree открывает вторую рабочую папку того же репозитория. Оставьте незакоммиченные изменения в основной ветке и параллельно проверьте hotfix, не делая stash и повторное переключение.
Рабочий пример
git worktree add ../snipit-hotfix hotfix/login
git worktree list
git worktree remove ../snipit-hotfix
git worktree add -b fix/cache ../fix-cache mainУ папок отдельные рабочие файлы и индекс, но общая база объектов Git. Это экономит место относительно повторного clone и позволяет держать две ветки открытыми в редакторе одновременно.
Частый вопрос
Это отдельная копия репозитория?
Рабочие файлы отдельные, а объекты и refs общие. Изменения одной ветки не появляются в другой без коммита или cherry-pick.