Git ve SVN Arasındaki Fark
Git vs SVN
Git ve SVN her ikisi de birer yazılımdır. Git, SCM, kaynak kodu yönetimi ve dağıtılmış revizyon kontrol sistemi. SVN, bir revizyon kontrol ve yazılım sürümleme sistemidir.
Git, ana vurgu hızı üzerinde olan bir SCM'dir. Linux çekirdeği için Linus Torvalds tarafından geliştirildi. Revizyon takibi kapasiteleri ve eksiksiz geçmişi olan bir havuza sahiptir. Bu depo merkezi bir sunucuya veya ağ erişimine bağımlı değildir. Bu özgür yazılımdır. Git GNU altında dağıtılır ve bakımı Junio Hamano tarafından denetlenir. Apache Subversion veya SVN, açık kaynak lisansı altında dağıtılır. Dağıtılmamış VCS, Sürüm Kontrol Sistemi'dir. Merkezi veya merkezi sunucu olan bir depoyu yok. Kaynak kodu, dokümantasyon ve Web sayfalarının tarihsel ve güncel sürümlerini korumak için kullanılır. SVN'nin temel amacı, Eşzamanlı Sürüm Sistemi olan CVS'ye bir halef olarak kullanılacaktır. CollabNet, Inc. tarafından geliştirildi.
Git'de saklanan içerik meta verilerdir. İçeriği a adlı klasöre depolar. git klasörü, daha büyük bir boyutu vardır.. makinedeki git klasörü klonlanmış depodur. Klasör, merkezi depoda olduğu gibi tüm etiketler, sürüm geçmişleri, şube, vb. SVN dosyaları saklar. Bunların klonlanmış bir deposu yok.
Git dalları ile çalışmak daha kolaydır. Sistem, dosyaların hızla birleştirilmesine yardımcı olur ve ayrıca birleştirilmiş dosyaları bulmada yardımcı olur; SVN dalları aslında depoda bulunan bir klasördür. Dalları birleştirmek için özel komutlar gereklidir.
SVN'nin genel bir revizyon numarası var, revizyon numarası bir kaynak kodun snap shot'dır; Git'in buna sahip değil.
Git, şifreleme yoluyla hash edilmiş içeriğe sahiptir. Bu, SHA1 karma algoritması olarak anılan bir algoritma kullanılarak yapılır. Bu özellik, ağ sorunları veya disk arızaları nedeniyle depo bozulmasından içeriğin korunmasına yardımcı olur.
Özet:
- Git dağıtık VCS'dir; SVN dağıtılmamış VCS'dir.
- Git, merkezi bir sunucu ve havuza sahiptir; SVN'de merkezi bir sunucu veya havuz yok.
- Gitteki içerik meta veri olarak depolanır; SVN içerik dosyalarını saklar.
- Git dalları, SVN dallarına göre daha kolaydır.
- Git, SVN gibi genel revizyon numarası özelliğine sahip değildir.
- Git, SVN'den daha iyi bir içerik koruma özelliğine sahiptir.
- Git, Linux çekirdeği için Linus Torvalds tarafından geliştirildi; SVN CollabNet, Inc. tarafından geliştirilmiştir.
- Git GNU altında dağıtılır ve Junio Hamano tarafından bakımı yapılır; Apache Subversion veya SVN, açık kaynak lisansı altında dağıtılır.