11 puan yazan GN⁺ 2023-12-13 | 2 yorum | WhatsApp'ta paylaş

Git'in sürüm kontrol sistemleri (VCS) için nihai çözüm olup olmadığı ya da daha iyi bir sistemin mümkün olup olmadığına dair bir soru

Başlıca yanıtlar

  • Git öğrenmek, başka bir VCS kullanmaktan veya yeni bir VCS oluşturmaktan çok daha faydalı
  • Git CLI iyi değil; bu yüzden birçok yerde Git UI sorunlarını çözmeye yönelik çalışmalar yapılıyor
  • Jujutsu, diğer dağıtık sürüm kontrol sistemlerinin (DVCS) avantajlarını birleştiriyor ve yenilikçi kavramlar sunuyor
  • SQLite geliştiricisinin yaptığı Fossil, bir dosyanın geçmişini ileri ve geri izlemeyi mümkün kılıyor
  • Pijul da umut verici
  • Git'in iç yapısı karmaşık değil ama arayüzü kafa karıştırıcı
  • Büyük ikili dosyalar konusunda hâlâ yetersiz; LFS kullanımı hantallaşıyor
  • Darcs da iyi bir seçenek

2 yorum

 
rapihara 2023-12-13

Büyük dosyalarla sık sık çalışan bir oyun geliştiricisi açısından bakıldığında, Git kullanmanın kaçınılmaz olarak sınırları olduğunu düşünüyorum.
Git verileri snapshot yöntemiyle sakladığı için, dosya çok az değişse bile depolama kullanımının ciddi biçimde artması kaçınılmazdır. Bunu çözmek için snapshot yerine delta yöntemiyle depolamak gerekir; ancak bu, Git’in temel tasarım felsefesini zedeleyebilir. Bu yüzden, aynı zamanda bir DVCS olup verileri delta yöntemiyle saklayan Mercurial kullanmanın daha iyi bir seçenek olabileceğini düşünüyorum.

 
GN⁺ 2023-12-13
Hacker News görüşü
  • Birçok kişi Git ile ilk ve tek sürüm kontrol sistemi (VCS) olarak tanıştı.

    • Daha önce RCS, CVS, SVN kullanıp ardından Git’e geçenler oldu.
    • Git, önceki sistemlerin temel yapısal kusurlarını çözdü.
    • Git’in sınırları, kullanıcıların Git’i nasıl kullanacağını bilmesinde yatıyor.
    • Git’in karmaşık arayüzünü basitleştirme girişimleri, Git’in gücünü zayıflatabilir.
    • Git’i öğrenmek, başka bir VCS kullanmaktan ya da yeni bir VCS oluşturmaktan çok daha faydalı.
  • Git’in "daha iyi" bir VCS olması için hangi yönlerinin iyileştirilmesi gerektiği sorusu.

    • Git’in CLI kullanıcı arayüzü karmaşık.
    • Git hızla büyüyebildi, ancak bunun bedeli CLI kullanıcı deneyimi oldu.
    • Birden fazla şirket, Git arayüzü sorununu çözmek için çeşitli çözümler sunuyor.
  • Jujutsu sürüm kontrol sistemi, diğer dağıtık sürüm kontrol sistemlerinin (DVCS) avantajlarını birleştiriyor ve yenilikçi kavramlar sunuyor.

    • Hacker News’te defalarca tartışıldı.
  • Sqlite’ın yaratıcılarının geliştirdiği Fossil adlı bir sistem.

    • Fossil, Git’ten farklı olarak dosya geçmişini hem ileri hem geri izleyebilme özelliği sunuyor.
  • Git mükemmel olmasa da alternatiflerinden daha iyi olduğu görüşü.

    • Git’in özellik keşfedilebilirliği kafa karıştırıcı ve karmaşık.
    • Git’i öğrenmek ciddi emek gerektiriyor, ancak yalnızca temel komutlar kullanıldığında sorun olmuyor.
  • Git’in iç işleyişi karmaşık değil, ancak kullanıcı arayüzü kafa karıştırıcı.

    • Basitleştirilmesi gereken şey Git’in kendisi değil, kullanıcı arayüzü.
  • Fossil adlı sistem, Git’e alternatif olarak öneriliyor.

    • Fossil, Git depolarının merkezileşme sorununu çözen forge araçlarını da içeriyor.
  • Git’in büyük dosya/ikili varlıkları varsayılan olarak daha iyi ele alması gerektiği yönünde bir beklenti.

    • LFS (Large File Storage) fena değil ama kusursuz da değil.
    • CLI bir sorun değil ve çok sayıda alternatif araç mevcut.
  • Sqlite’ın Fossil’i ve Facebook’un Sapling’i Git’e alternatif olarak anılıyor.

  • Git’in arayüzünün nasıl iyileştirilebileceğine dair kişisel bir teori.

    • Depoyu yönlü bir grafik olarak daha fazla merkeze almak ve dili de grafik terimleriyle kurmak.
    • Böylece matematik altyapısı olan kişilerin Git’i daha kolay öğrenmesini sağlamak.