Forskellen mellem Git og SVN

Git vs SVN

Git og SVN er begge software. Git er SCM, kildekodestyring og et distribueret revisionskontrolsystem. SVN er et revisionskontrol- og softwareversioneringssystem.

 Git er en SCM med hovedvægten på hastighed. Den blev udviklet til Linux-kerne af Linus Torvalds. Det har et lager med revisionssporingskapacitet og komplet historie. Denne opbevaring er ikke afhængig af en central server eller netværksadgang. Det er gratis software. Git distribueres under GNU, og Junio ​​Hamano kontrollerer dets vedligeholdelse. Apache Subversion eller SVN distribueres under open source-licensen. Det er et ikke-distribueret VCS-versionskontrolsystem. Det har ikke et lager, der hverken er centraliseret eller en centraliseret server. Det bruges hovedsageligt til vedligeholdelse af historiske og aktuelle versioner af kildekode, dokumentation og websider. Hovedformålet med SVN er at blive brugt som en efterfølger til CVS, Concurrent Version System. Det blev udviklet af CollabNet, Inc.

 Indholdet gemt i Git er metadata. Det gemmer indholdet i mappen kaldet en .git-mappe, som har en større størrelse. .Git-mappen på maskinen er det klonede lager. Mappen består af alle tags, versionshistorier, grene osv., Som i det centrale arkiv; SVN gemmer filer. De har ikke et klonet lager.

 Git-grenene er lettere at arbejde med. Systemet hjælper med at flette filerne hurtigt og hjælper også med at finde de ikke-tilknyttede; SVN-grenene er faktisk en mappe, der findes i depotet. Til sammenlægning af grenene kræves særlige kommandoer.

 SVN har et globalt revisionsnummer, revisionsnummeret er et kildekodes snap shot; Git har ikke dette.

 Git har indhold, der er kryptografisk hashet. Dette gøres ved brug af en algoritme, der kaldes SHA1-hash-algoritme. Denne funktion hjælper med at beskytte indholdet mod deponering af korruption, der finder sted på grund af netværksproblemer eller diskfejl.

Resumé:

  1. Git er en distribueret VCS; SVN er en ikke-distribueret VCS.
  2. Git har en centraliseret server og depot; SVN har ikke en centraliseret server eller et lager.
  3. Indholdet i Git gemmes som metadata; SVN gemmer filer med indhold.
  4. Git-grene er lettere at arbejde med end SVN-grene.
  5. Git har ikke den globale revisionsnummerfunktion som SVN har.
  6. Git har bedre indholdsbeskyttelse end SVN.
  7. Git blev udviklet til Linux-kerne af Linus Torvalds; SVN blev udviklet af CollabNet, Inc.
  8. Git distribueres under GNU, og dets vedligeholdelse overvåges af Junio ​​Hamano; Apache Subversion eller SVN distribueres under open source-licensen.