Git·30 питань

Що таке git worktree і як працювати з кількома гілками одночасно?

Відповідь

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

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

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

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

Чи корисна ця відповідь?

Інші питання цієї теми

Пов’язані питання з інших тем