Git worktree özelliği eşzamanlı geliştirici görevlerini kolaylaştırıyor
Öne çıkanlar
- Sistem beş sabit çalışma ağacını (main, work, review, fuzz, scratch) temel alıyor.
- Stash mekanizması yerine geçici taahhütlerle dal geçişi yapılıyor.
- Arka plan testleri için detached HEAD modunda ayrı bir dizin kullanılıyor.
Yazılım mühendisi Aleksey Kladov, Git projelerinde dal (branch) değiştirmek yerine iş akışını eşzamanlı görevlere göre bölen yeni bir Git worktree yaklaşımı paylaştı. Geleneksel olarak dalların yerine dizin açmak amacıyla kullanılan worktree yapısı, Kladov'un modelinde doğrudan geliştiricinin eşzamanlı yürüttüğü faaliyetlere göre sabit dizinlere ayrılıyor.
Sistemde temel olarak beş sabit worktree bulunuyor. Bunlar; ana kod tabanını referans alan ve salt okunur tutulan main, asıl geliştirmelerin yapıldığı work, kod incelemelerine ayrılan review, arka planda uzun süreli testlerin koşturulduğu fuzz ve beklenmedik küçük düzeltmeler için kullanılan scratch dizinlerinden oluşuyor.
Kladov, Git içindeki stash ve staging area gibi mekanizmaların bağlam geçişlerinde karmaşa yarattığını ve bu nedenle doğrudan geçici taahhütler (commit) alarak çalışmayı tercih ettiğini belirtti. Önerilen sabit çalışma ağacı düzeni, geliştiricinin bağlam kaybetmeden birden fazla işi paralel yürütmesine olanak tanıyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.