Git Worktrees

Avancerad Git

Amanda Crawford-Adamo

Software and Data Engineer

Vad är ett Git Worktree?

Git Worktree-kommandot

git worktree
  • Kan "checka ut" flera grenar i din arbetsyta.
  • Liknar en repo-utcheckning, men mer effektivt
  • Inget behov av att lagra ändringar tillfälligt
  • Inget behov av att växla mellan grenar under utvecklingen

Ett konstgjort träd uppbyggt av cirklar och linjer

Avancerad Git

Git Worktree jämfört med Git Switch

Den här tabellen jämför git worktree och git switch i ett utvecklingsarbetsflöde. $$

Git Worktree Git Switch
Flera aktiva grenar En aktiv gren åt gången
Separata kataloger En enda arbetskatalog
Inget behov av tillfällig lagring Kan kräva tillfällig lagring
Avancerad Git

Skapa ett Git Worktree

Skapa ett nytt worktree från <branch> i katalogen <path>

git worktree add <path> <branch>

Exempel

Skapa ett nytt worktree från grenen bugfix/data-validation i katalogen ../etl-bugfix

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

Lista och ta bort worktrees

  • Listar alla aktiva worktrees: git worktree list

Exempelutdata

$ git worktree list
flight-pipeline            a1b2c3d [main]
flight-pipeline-feature    e4f5g6h [feature]
flight-pipeline-hotfix     i7j8k9l [hotfix]
  • Tar bort ett worktree från <path>: git worktree remove <path>

Exempelutdata

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

När du bör använda Git Worktrees

När du bör använda:

  • Arbeta med flera funktioner samtidigt
  • Hantera akuta buggfixar utan att störa pågående arbete
  • Köra tester på olika grenar parallellt
  • Kodgranskning medan utvecklingen fortsätter

Överväg att avstå när:

  • Diskutrymmet är begränsat
  • Projekt har täta uppdateringar och komplexa sammanslagningar
Avancerad Git

Bästa praxis för Git Worktrees

Tänk på dessa tips när du använder Git worktrees:

  1. Använd tydliga namnkonventioner för worktree-kataloger
  2. Rensa oanvända worktrees regelbundet för en städad arbetsyta
  3. Tänk på diskutrymmet, särskilt i stora projekt
  4. Använd worktrees för kortlivat parallellt arbete för att undvika förvirring
Avancerad Git

Nu kör vi en övning!

Avancerad Git

Preparing Video For Download...