Git·30 вопросов

Что такое git worktree и как работать с несколькими ветками одновременно?

Ответ

Обычно при работе с Git у вас есть одна рабочая директория, и для переключения между ветками приходится постоянно использовать команду checkout или switch, что бывает неудобно, если текущий код не завершен или требует долгой сборки. Команда git worktree решает эту проблему, позволяя создать несколько независимых рабочих каталогов, связанных с одним и тем же локальным репозиторием.

Каждое новое рабочее дерево функционирует как отдельная папка на вашем компьютере, в которой может быть открыта совершенно другая ветка. При этом все они ссылаются на единую базу данных `.git`, что экономит место на диске и изнуряющее клонирование репозитория заново. Вы можете одновременно компилировать проект в одной папке на ветке мастер и вносить срочные правки в другой папке на ветке фичи.

Чтобы создать новое рабочее пространство, используется команда git worktree add с указанием пути к новой папке и имени ветки, которую вы хотите там открыть. Например, команда git worktree add ../hotfix-folder hotfix создаст параллельную директорию на уровень выше и переключит ее на ветку исправления ошибок. Теперь вы можете независимо работать в обеих папках.

После завершения работы с дополнительным каталогом его можно безопасно удалить с помощью команды git worktree remove с указанием пути к папке. Это очистит временные файлы и удалит запись из системного списка рабочих деревьев Git, не затрагивая при этом сами коммиты и изменения, которые были успешно зафиксированы в репозитории.

Полезен ли этот ответ?

Другие вопросы этой темы

Связанные вопросы из других тем