Git Worktrees

Zaawansowany Git

Amanda Crawford-Adamo

Software and Data Engineer

Czym jest Git Worktree?

Polecenie Git Worktree

git worktree
  • Umożliwia "checkout" wielu gałęzi w obszarze roboczym.
  • Podobne do checkout repozytorium, ale wydajniejsze
  • Nie wymaga przechowywania zmian (stash)
  • Nie trzeba przełączać gałęzi podczas pracy

Schematyczne drzewo złożone z kół i linii

Zaawansowany Git

Git Worktree a Git Switch

Tabela porównuje użycie git worktree i git switch w przepływie pracy deweloperskiej. $$

Git Worktree Git Switch
Wiele aktywnych gałęzi Jedna aktywna gałąź
Oddzielne katalogi Jeden katalog roboczy
Nie wymaga stash Może wymagać stash
Zaawansowany Git

Tworzenie Git Worktree

Tworzy nowy worktree z gałęzi <branch> w katalogu <path>

git worktree add <path> <branch>

Przykład

Utwórz nowy worktree z gałęzi bugfix/data-validation w katalogu ../etl-bugfix

git worktree add ../etl-bugfix bugfix/data-validation
Zaawansowany Git

Wyświetlanie i usuwanie Worktrees

  • Wyświetla wszystkie aktywne worktree: git worktree list

Przykładowe wyjście

$ git worktree list
flight-pipeline            a1b2c3d [main]
flight-pipeline-feature    e4f5g6h [feature]
flight-pipeline-hotfix     i7j8k9l [hotfix]
  • Usuwa worktree z podanej ścieżki <path>: git worktree remove <path>

Przykładowe wyjście

$ git worktree remove flight-pipeline-hotfix
flight-pipeline-hotfix: deleted
Zaawansowany Git

Kiedy używać Git Worktrees

Kiedy używać:

  • Praca nad wieloma funkcjami jednocześnie
  • Obsługa pilnych poprawek bez zakłócania bieżącej pracy
  • Równoległe testowanie różnych gałęzi
  • Przeglądy kodu podczas kontynuowania prac

Należy rozważyć ponownie, gdy:

  • Miejsce na dysku jest ograniczone
  • Projekty z częstymi aktualizacjami i złożonymi scaleniami
Zaawansowany Git

Dobre praktyki Git Worktrees

Wskazówki dotyczące korzystania z Git worktrees:

  1. Stosuj przejrzyste konwencje nazewnictwa katalogów worktree
  2. Regularnie usuwaj nieużywane worktree, aby utrzymać porządek
  3. Zwracaj uwagę na zajętość dysku, szczególnie w dużych projektach
  4. Używaj worktrees do krótkotrwałej pracy równoległej, aby uniknąć chaosu
Zaawansowany Git

Czas na ćwiczenia!

Zaawansowany Git

Preparing Video For Download...