Git 2.22'nin yeni sürümünün lansmanı gerçekleştirildi. Git, en popüler, güvenilir ve yüksek performanslı sürüm kontrol sistemlerinden biridir ve aynı zamanda geliştirme araçları da sağlar.
Geçmiş bütünlüğünü ve geçmişe bakıldığında değişime karşı direnci sağlamak için, her kayıtta önceki tüm geçmişin örtük hashingi kullanılır ve bireysel etiket ve commit geliştiricilerinin dijital imzaları da doğrulanabilir.
Önceki sürüme kıyasla yeni sürümde 745 değişiklik yapıldı ve bu sürüm, 18'i ilk kez geliştirme sürecine katılan 74 geliştiricinin katılımıyla hazırlandı .
Git 2.22'in öne çıkan özellikleri
Şu anda kullanılan yerel dalı göstermek için artık "git branch-show-current " komutunu kullanabilirsiniz.
Ayrıca, 1.18 sürümünden itibaren, önceki "--preserve-merges" seçeneğinin yerini alan ve artık kullanımdan kaldırılmış olan " --preserve-merges " seçeneğiyle, commit setleri için yeni bir aktarım modu olan " --rebase-merges " kullanılabilir hale gelmiştir.
Taşınabilir bir dalda dal yapısını korumak için, etkileşimli modda çalıştırıldığında ( git rebase -i --preserve-merges ) commit geçmişini düzenlemeye izin veren ancak depo yapısının tamamen korunmasını garanti etmeyen " --preserve-merges " seçeneğini kullanabilirsiniz .
" --rebase-merges " ardıl modu, taşınabilir daldaki değişikliklerin yapısını korumanıza olanak tanırken, commit'leri silme, yeniden düzenleme ve yeniden adlandırma dahil olmak üzere eksiksiz bir dizi etkileşimli işlem sunar.
Örneğin, " --rebase-merges " seçeneği, taşınabilir dalda dal yapısını koruyarak ve notlarda bazı değişiklikler yaparak, ayrılmış bir daldan daha yeni bir ana dala commit yapılmasına olanak tanır ve bu değişiklikleri anında commit etmeyi sağlar.
" Git rebase " işlemi , bir dizi commit'i yeni bir temel commit ile değiştirmek için kullanılır; örneğin, yeni bir özelliğin geliştirildiği ayrı bir dalı, daldan sonra eklenen tüm düzeltmeler de dahil olmak üzere, ana dalın mevcut durumuna değiştirmek için kullanılır.
Olağanüstü arka uç desteği
` git bisect` raporu güncellendi ve artık daha okunabilir durumda ; ` git mergetool` ise artık arka uç olarak Sublime Merge (` smerge` ) desteği de sunuyor. Git, saklanan indeks dosyası değiştiğinde yeni ` post-index-change` kancasını çağırıyor; bu da sanallaştırılmış çalışma ağaçlarına yardımcı oluyor.
Ayrıca, " git difftool " komutu artık bir depo dışında da çalışıyor ve HEAD ile index arasında bir fark tespit ettiğinde " git checkout -m <diğer> " komutunu iptal ediyor.
Dizinin paketlenmesi klonlama sürecinde bazen uzun zaman aldığından, geliştiriciler size bu süreçte bir ilerleme çubuğu vermişlerdir.
Aynı zamanda, ` git clone` yeni ` switch` sunucu seçeneği sayesinde protokolün 2. sürümü üzerinden iletişim kuruyor . Birkaç özellik kod tamamlama özelliğini geliştiriyor ve geliştiriciler ayrıca trace2 izleme aracı üzerinde de çalıştılar.
Yeni Trace2 izleme mekanizması, daha esnek ve yapılandırılmış bir çıktı formatı sunar. Trace2, daha ayrıntılı analiz ve hata ayıklama için operasyonel telemetri ve performans verilerinin toplanmasına olanak tanır (kullanıcı kontrol cihazını atar; dışarıya hiçbir veri gönderilmez).
Performans ve geliştirme
Git'in yerleşik diferansiyel mekanizması yeniden yazıldı ve artık ` git commit-tree` komutunu destekliyor ; ayrıca ` pack-redundant` API'si ve ` git multi-pack-index verify` komutları, çok sayıda paket dosyası içeren depolarda daha hızlı çalışıyor. Geliştiriciler için test çerçevesi de güncellendi.
Son zamanlarda, ` git rebase` için C dilinde ` git stash` işlevi uygulandı . C dilindeki uygulama , Git'in aynı dosyayı tekrar tekrar üzerine yazmasını önleyecek şekilde güncellendi . ` git diff` artık, ikili dosyalar hakkında bilgi topladığı özel senaryolarda daha hızlı çalışıyor. Son olarak, `git clone` bağlantı sürecini hızlandırıyor.
Ayrıca, işlemlere eklenen genişletilmiş "git log" etiketleri görüntülendiğinde filtreleme yeteneği de eklendi.