Dağıtılmış kaynak kontrol sistemi Git 2.23'nin piyasaya sürülmesi

tanıtıldı dağıtılmış bir kaynak kontrol sisteminin piyasaya sürülmesi Git 2.23.0. Git, dallanma ve birleştirmeye dayalı esnek, doğrusal olmayan geliştirme araçları sağlayan, en popüler, güvenilir ve yüksek performanslı sürüm kontrol sistemlerinden biridir. Geçmişin bütünlüğünü ve geriye dönük değişikliklere karşı direnci sağlamak için, her bir taahhütte önceki geçmişin tamamının örtülü karma işlemi kullanılır ve ayrıca bireysel etiketleri ve taahhütleri geliştiricilerin dijital imzalarıyla sertifikalandırmak da mümkündür.

Yeni sürüm, önceki sürüme göre 505 geliştiricinin katılımıyla hazırlanan ve 77'sı ilk kez geliştirmede yer alan 26 değişiklik içeriyordu. Temel yenilikler:

  • Dal manipülasyonu (değiştirme ve oluşturma) ve çalışma dizinindeki dosyaları geri yükleme ("git checkout $commit - $filename") gibi gevşek bağlı "git checkout" yeteneklerini ayırmak için deneysel "git switch" ve "git restore" komutları tanıtıldı. veya hemen hazırlama alanında (“—staging”, “git checkout”ta analogu yoktur). "git checkout"tan farklı olarak "git restore"nin, izlenmeyen dosyaları geri yüklenen dizinlerden kaldırdığını belirtmek gerekir (varsayılan olarak "--no-overlay").
  • "-abort"a benzer şekilde dalları birleştirme işlemini durduran ancak çalışma dizinine dokunulmadan bırakan "git merge –quit" seçeneği eklendi. Bu seçenek, manuel birleştirme sırasında yapılan değişikliklerden bazılarının ayrı bir taahhüt olarak yayınlanmasının tercih edilmesi durumunda yararlı olabilir.
  • "git clone", "git fetch" ve "git push" komutları artık bağlantılı depolardaki taahhütlerin varlığını hesaba katıyor (alternatifler);
  • Katma "gitcrim —ignore-rev" ve "—ignore-revs-file" seçenekleri, küçük değişiklikler (örneğin, biçimlendirme düzeltmeleri) yapan taahhütleri atlamanıza olanak tanır;
  • Çakışan bir işlemi atlamak için "git Cherry-Pick —skip" seçeneği eklendi ("git reset && git kiraz-pick —continue" dizisinin ezberlenmiş bir benzeri);
  • "git status -[no-]ahead-behind" seçeneğini kalıcı olarak düzelten status.aheadBehind ayarı eklendi;
  • Bu sürümden itibaren "git log", git shortlog'un halihazırda yaptığına benzer şekilde, posta haritası tarafından yapılan değişiklikleri varsayılan olarak hesaba katar;
  • 2.18'de tanıtılan taahhüt grafiğinin (core.commitGraph) deneysel önbelleğinin güncelleme işlemi önemli ölçüde hızlandırıldı. Ayrıca birden fazla şablon kullanıldığında her referans için git daha hızlı hale getirildi ve "git fetch —multiple" seçeneğinde auto-gc'ye yapılan çağrıların sayısı azaltıldı;
  • "git Branch --list" artık yerel ayardan bağımsız olarak her zaman listenin en başında ayrılmış HEAD'i gösteriyor.

Kaynak: opennet.ru

Yorum ekle