Git Worktree'ler

İleri Seviye Git

Amanda Crawford-Adamo

Software and Data Engineer

Git Worktree nedir?

Git Worktree Komutu

git worktree
  • Çalışma alanınızda birden çok dalı "checkout" edebilir.
  • Depo checkout’una benzer, ancak verimlidir
  • Değişiklikleri stash’leme gerekmez
  • Geliştirme sırasında dallar arasında geçiş yapmaya gerek yoktur

Daireler ve çizgilerden oluşan sahte bir ağaç

İleri Seviye Git

Git Worktree ve Git Switch karşılaştırması

Bu tablo, geliştirme iş akışında git worktree ile git switch kullanımını karşılaştırır. $$

Git Worktree Git Switch
Birden çok etkin dal Aynı anda tek etkin dal
Ayrı dizinler Tek çalışma dizini
Stash gerekmez Stash gerekebilir
İleri Seviye Git

Git Worktree oluşturma

<branch> dalından <path> dizinine yeni worktree oluşturun

git worktree add <path> <branch>

Örnek

bugfix/data-validation dalından ../etl-bugfix dizinine yeni bir worktree oluşturun

git worktree add ../etl-bugfix bugfix/data-validation
İleri Seviye Git

Worktree’leri listeleme ve kaldırma

  • Tüm etkin worktree’leri listeler: git worktree list

Örnek çıktı

$ git worktree list
flight-pipeline            a1b2c3d [main]
flight-pipeline-feature    e4f5g6h [feature]
flight-pipeline-hotfix     i7j8k9l [hotfix]
  • Bir worktree’yi <path> konumundan kaldırır: git worktree remove <path>

Örnek çıktı

$ git worktree remove flight-pipeline-hotfix
flight-pipeline-hotfix: deleted
İleri Seviye Git

Git Worktree ne zaman kullanılır

Ne zaman kullanılır:

  • Aynı anda birden çok özellik üzerinde çalışma
  • Devam eden çalışmayı bozmadan acil hata düzeltmeleri
  • Farklı dallarda testleri paralel çalıştırma
  • Geliştirmeye devam ederken kod incelemeleri

Yeniden düşünün:

  • Disk alanı sınırlıysa
  • Sık güncellemeli ve karmaşık birleştirmeli projelerde
İleri Seviye Git

Git Worktree için en iyi uygulamalar

Git worktree kullanırken şu ipuçlarını dikkate alın:

  1. Worktree dizinleri için açık adlandırma kuralları kullanın
  2. Kullanılmayan worktree’leri düzenli olarak temizleyin
  3. Özellikle büyük projelerde disk alanını gözetin
  4. Karışıklığı önlemek için kısa süreli paralel işler için kullanın
İleri Seviye Git

Hadi pratik yapalım!

İleri Seviye Git

Preparing Video For Download...