Razlika med Gitom in SVN

Git proti SVN

Git in SVN sta programska oprema. Git je SCM, upravljanje izvorne kode in distribucijski nadzorni sistem revizije. SVN je sistem za nadzor nad revizijami in različico programske opreme.

 Git je SCM, njegov glavni poudarek je na hitrosti. Za jedro Linuxa ga je razvil Linus Torvalds. Ima repozitorij z zmogljivostmi za sledenje revizije in popolno zgodovino. To skladišče ni odvisno od dostopa do centralnega strežnika ali omrežja. To je brezplačna programska oprema. Git se distribuira pod GNU, njegovo vzdrževanje pa nadzira Junio ​​Hamano. Apache Subversion ali SVN se distribuira pod licenco za odprto kodo. Gre za nerazdeljeni VCS, sistem za nadzor različic. Nima repozitorija, ki je bodisi centraliziran bodisi centraliziran strežnik. Uporablja se predvsem za vzdrževanje zgodovinskih in trenutnih različic izvorne kode, dokumentacije in spletnih strani. Glavni cilj SVN je, da se uporabi kot naslednik sistema CVS, sočasne različice. Razvil jo je CollabNet, Inc.

 Vsebina, shranjena v Gitu, je metapodatkov. Vsebino shrani v mapo, imenovano .git mapa, ki ima večjo velikost. Mapa .git v napravi je klonirano skladišče. Mapa vsebuje vse oznake, zgodovine različic, veje itd., Kot v osrednjem repozitoriju; SVN shranjuje datoteke. Nimajo kloniranega skladišča.

 Z Git podružnicami je lažje delati. Sistem pomaga pri hitrem združevanju datotek in tudi pri iskanju nepopolnih datotek; veje SVN so dejansko mapa, ki je prisotna v skladišču. Za spajanje vej so potrebni posebni ukazi.

 SVN ima globalno revizijsko številko, številka revizije je posnetek izvorne kode; Git tega nima.

 Git vsebuje vsebine, ki so kriptografsko razpršene. To se naredi z uporabo algoritma, imenovanega hash algoritem SHA1. Ta funkcija pomaga pri zaščiti vsebine pred poškodbami skladišča zaradi težav z omrežjem ali napak na disku.

Povzetek:

  1. Git je porazdeljeni VCS; SVN je nerazdeljeni VCS.
  2. Git ima centraliziran strežnik in skladišče; SVN nima centraliziranega strežnika ali skladišča.
  3. Vsebina v Gitu je shranjena kot metapodatki; SVN shranjuje datoteke vsebine.
  4. Git veje je lažje delati kot veje SVN.
  5. Git nima funkcije globalne revizijske številke, kot jo ima SVN.
  6. Git ima boljšo vsebinsko zaščito kot SVN.
  7. Git je za Linux jedro razvil Linus Torvalds; SVN je razvil CollabNet, Inc.
  8. Git se distribuira pod GNU, njegovo vzdrževanje pa nadzira Junio ​​Hamano; Apache Subversion ali SVN se distribuira pod licenco za odprto kodo.