Git Worktrees

Просунуте Git

Amanda Crawford-Adamo

Software and Data Engineer

Що таке Git Worktree?

Команда Git Worktree

git worktree
  • Дозволяє «checkout» кількох гілок у вашому робочому просторі.
  • Подібно до checkout репозиторію, але ефективніше
  • Не потрібно ховати зміни в stash
  • Не потрібно перемикатися між гілками під час розробки

Намальоване дерево з кіл і ліній

Просунуте Git

Git Worktree проти Git Switch

Ця таблиця порівнює git worktree та git switch у процесі розробки. $$

Git Worktree Git Switch
Кілька активних гілок Одна активна гілка
Окремі каталоги Один робочий каталог
Не потрібно stash Може знадобитися stash
Просунуте Git

Створення Git Worktree

Створіть нове worktree з <branch> у каталозі <path>

git worktree add <path> <branch>

Приклад

Створіть нове worktree з гілки bugfix/data-validation у каталозі ../etl-bugfix

git worktree add ../etl-bugfix bugfix/data-validation
Просунуте Git

Список і видалення Worktree

  • Показує всі активні worktree: git worktree list

Приклад результату

$ git worktree list
flight-pipeline            a1b2c3d [main]
flight-pipeline-feature    e4f5g6h [feature]
flight-pipeline-hotfix     i7j8k9l [hotfix]
  • Видаляє worktree за <path>: git worktree remove <path>

Приклад результату

$ git worktree remove flight-pipeline-hotfix
flight-pipeline-hotfix: deleted
Просунуте Git

Коли використовувати Git Worktrees

Коли використовувати:

  • Працюєте над кількома фічами одночасно
  • Термінові виправлення багів без зупинки поточної роботи
  • Запуск тестів на різних гілках паралельно
  • Code review паралельно з розробкою

Перегляньте підхід, якщо:

  • Обмежений дисковий простір
  • Проєкти з частими оновленнями й складними злиттями
Просунуте Git

Найкращі практики для Git Worktrees

Користуючись Git worktree, пам'ятайте:

  1. Використовуйте зрозумілі імена каталогів worktree
  2. Регулярно прибирайте зайві worktree, щоб тримати простір охайним
  3. Стежте за дисковим простором, особливо у великих проєктах
  4. Використовуйте worktree для короткоживучої паралельної роботи, щоб уникати плутанини
Просунуте Git

Давайте потренуємось!

Просунуте Git

Preparing Video For Download...