Giti ja SVN-i erinevus

Git vs SVN

Git ja SVN on mõlemad tarkvara. Git on SCM, lähtekoodi haldus ja hajutatud versiooni juhtimissüsteem. SVN on versioonikontrolli ja tarkvara versioonisüsteem.

 Git on SCM, mille põhirõhk on kiirusel. Selle töötas välja Linuxi tuuma jaoks Linus Torvalds. Sellel on repositooriumi jälgimisvõimaluste ja täieliku ajalooga hoidla. See hoidla ei sõltu keskserverist ega võrguühendusest. See on tasuta tarkvara. Git on turustatud GNU all ja selle hooldust kontrollib Junio ​​Hamano. Apache Subversion ehk SVN levitatakse avatud lähtekoodiga litsentsi alusel. See on jaotamata VCS, versioonikontrollisüsteem. Sellel puudub hoidla, mis oleks kas tsentraliseeritud või tsentraliseeritud server. Seda kasutatakse peamiselt lähtekoodi, dokumentatsiooni ja veebilehtede ajalooliste ja praeguste versioonide säilitamiseks. SVNi peamine eesmärk on kasutada samaaegse versioonisüsteemi CVSi järeltulijana. Selle töötas välja CollabNet, Inc.

 Git'is talletatud sisu on metaandmed. See salvestab sisu kausta nimega .git, mis on suurem. Masina .git-kaust on kloonitud hoidla. Kaust koosneb kõigist siltidest, versiooniajaloodest, harudest jne, nagu keskhoidlas; SVN salvestab faile. Neil pole kloonitud hoidlat.

 Giti harudega on lihtsam töötada. Süsteem aitab faile kiiresti ühendada ja aitab üles leida ka ühendamata faile; SVN-i harud on tegelikult hoidlas olev kaust. Harude ühendamiseks on vaja spetsiaalseid käske.

 SVN-il on globaalne versiooninumber, versiooninumber on lähtekoodi hetkvõte; Gitil seda pole.

 Gitil on krüptograafiliselt räsitud sisu. Selleks kasutatakse SHA1 räsialgoritmiks nimetatud algoritmi. See funktsioon aitab kaitsta sisu hoidlate korruptsiooni eest võrguprobleemide või ketta tõrgete tõttu.

Kokkuvõte:

  1. Git on hajutatud VCS; SVN on jaotamata VCS.
  2. Gitil on tsentraliseeritud server ja hoidla; SVN-il puudub tsentraliseeritud server või hoidla.
  3. Giti sisu talletatakse metaandmetena; SVN salvestab sisufailid.
  4. Git-harudega on lihtsam töötada kui SVN-oksadega.
  5. Gitil puudub globaalse versiooninumbri funktsioon, nagu SVN-il.
  6. Gitil on parem sisu kaitse kui SVN-il.
  7. Giti töötas Linuxi tuuma jaoks välja Linus Torvalds; SVNi töötas välja CollabNet, Inc.
  8. Git on turustatud GNU all ja selle hooldust kontrollib Junio ​​Hamano; Apache Subversion ehk SVN levitatakse avatud lähtekoodiga litsentsi alusel.