Git at SVN

Anonim

Git vs SVN

Ang Git at SVN ay parehong software. Ang Git ay SCM, pamamahala ng source code, at isang sistema ng kontrol ng rebisyon na ipinamamahagi. Ang SVN ay isang control revision at software versioning system.

 Git ay isang SCM na may pangunahing pagbibigay diin sa bilis. Ito ay binuo para sa Linux kernel ni Linus Torvalds. Mayroon itong repository sa mga capacities tracking revision at kumpletong kasaysayan. Ang lalagyan na ito ay hindi nakasalalay sa isang central server o network access. Ito ay libreng software. Ang Git ay ipinamamahagi sa ilalim ng GNU, at ang pagpapanatili nito ay pinangasiwaan ni Junio ​​Hamano. Ang Apache Subversion, o SVN, ay ipinamamahagi sa ilalim ng open source license. Ito ay isang di-ipinamamahagi VCS, Bersyon Control System. Ito ay walang isang repository na alinman sa sentralisado o isang sentralisadong server. Ito ay higit sa lahat na ginagamit para sa pagpapanatili ng makasaysayang at kasalukuyang mga bersyon ng source code, dokumentasyon, at mga pahina ng Web. Ang pangunahing layunin ng SVN ay gagamitin bilang isang kahalili sa CVS, Concurrent Version System. Ito ay binuo ng CollabNet, Inc.

Ang nilalaman na naka-imbak sa Git ay metadata. Nag-iimbak ito ng nilalaman sa folder na tinatawag na.git na folder, na may mas malaking sukat. Ang.git na folder sa makina ay ang kopya ng kopya. Ang folder ay binubuo ng lahat ng mga tag, mga istatistika ng bersyon, mga sangay, atbp., Tulad ng sa central repository; Nag-iimbak ng mga file ang SVN. Wala silang isang kopya ng kopya.

 Ang mga sangay ng Git ay mas madaling magtrabaho. Ang sistema ay nakakatulong sa mabilis na pagsasama ng mga file at tumutulong din sa paghahanap ng mga hindi na-convert; ang SVN branches ay talagang isang folder na naroroon sa imbakan. Para sa pagsasama ng mga sanga, kailangan ang mga espesyal na utos.

 SVN ay may pandaigdigang numero ng pagbabago, ang numero ng rebisyon ay snap shot ng source code; Ang Git ay walang ganito.

Ang Git ay may mga nilalaman na may cryptographically hashed. Ginagawa ito sa pamamagitan ng paggamit ng isang algorithm na tinukoy bilang SHA1 hash algorithm. Ang tampok na ito ay tumutulong sa pagprotekta sa mga nilalaman mula sa repository na katiwalian na nagaganap dahil sa mga isyu sa network o mga pagkabigo sa disk.

Buod:

  1. Ang Git ay isang ibinahagi na VCS; Ang SVN ay isang di-ipinamamahagi na VCS.
  2. May gitnang server at imbakan ang Git; Ang SVN ay walang sentralisadong server o repository.
  3. Ang nilalaman sa Git ay naka-imbak bilang metadata; Nag-iimbak ng SVN ang mga file ng nilalaman.
  4. Ang mga sanga ng Git ay mas madaling magtrabaho kasama sa mga sanga ng SVN.
  5. Ang Git ay walang tampok na bilang ng global revision tulad ng SVN.
  6. Mas mahusay ang proteksyon ng nilalaman kaysa sa SVN.
  7. Ang Git ay binuo para sa Linux kernel ni Linus Torvalds; Ang SVN ay binuo ng CollabNet, Inc.
  8. Ang Git ay ipinamamahagi sa ilalim ng GNU, at ang pagpapanatili nito ay pinangasiwaan ni Junio ​​Hamano; Ang Apache Subversion, o SVN, ay ipinamamahagi sa ilalim ng open source license.