git worktree
- Git kursu
- İleri seviye
- Ders 17/56
- 4 dk
git worktree ile birden çok çalışma ağacı öğrenirsin.
git worktree nedir?
git worktree, aynı Git deposuna bağlı birden fazla çalışma dizini oluşturmanı sağlar. Böylece mevcut dalındaki değişiklikleri bırakmadan başka bir dal üzerinde çalışabilirsin. Her çalışma ağacının ayrı dosyaları vardır ancak Git geçmişi ve depo verileri ortaktır.
git worktree
git worktree listÖrneğin bir dalda yeni özellik geliştirirken diğer çalışma ağacında hata düzeltmesi yapabilirsin.
Çalışma ağaçları nasıl paylaşılır?
Bir worktree oluşturduğunda Git, ana deponun ortak geçmişini ve nesne verilerini kullanır. Ancak her çalışma ağacının kendi çalışma dosyaları ve indeks alanı bulunur. Bu sayede bir dizindeki henüz commit edilmemiş değişiklikler diğer dizinin çalışma dosyalarını doğrudan değiştirmez.
main-repo/
feature-worktree/
# İki dizin aynı depoya bağlıdırAynı dalı iki farklı worktree üzerinde aynı anda aktif olarak kullanamazsın; her çalışma ağacına farklı bir dal ayırmalısın.
Uygulama İki çalışma ağacını tanımla
Aşağıdaki Git deposunda iki farklı çalışma dizinini gösteren değişkenleri tanımla. mainPath ana dizini, featurePath ise özellik dalının ayrı çalışma dizinini temsil etsin. Son olarak ikisini console.log ile alt alta yazdır.
Başlangıç kodu
// Ana çalışma dizinini tanımla
// Özellik çalışma dizinini tanımla
// İki yolu yazdırÖrnek çözüm
const mainPath = "main-repo";
const featurePath = "feature-worktree";
console.log(mainPath);
console.log(featurePath);Beklenen çıktı
main-repo feature-worktree
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Git worktree kullanmanın temel avantajı nedir?
- Uzak depodaki tüm dosyaları kilitlemek
- Farklı dallarda ayrı dizinlerde eş zamanlı çalışmak Doğru cevap
- Her dal için bağımsız bir Git deposu oluşturmak
- Commit geçmişini otomatik olarak silmek
Açıklama: Worktree, aynı depo üzerinden birden fazla çalışma dizininde farklı dallarla paralel çalışmayı sağlar.
2 Worktree komutunu tanı
git ____
git worktree
Açıklama: <code>git worktree</code> çalışma ağacı işlemlerini yönetmek için kullanılan ana komuttur.
3 Worktree kavramları
| Kavram | Anlamı |
|---|---|
Worktree |
Ayrı çalışma dizini |
Ortak geçmiş |
Paylaşılan commit geçmişi |
Paralel çalışma |
Birden fazla dalda çalışma |
İndeks |
Çalışma ağacının sahne alanı |