Diferența dintre Git și SVN

Git vs SVN

Git și SVN sunt atât software. Git este SCM, gestionarea codului sursă și un sistem de control revizuit distribuit. SVN este un sistem de control al versiunilor și un sistem de versiuni software.

 Git este un CSM, cu accentul pus pe viteza. Acesta a fost dezvoltat pentru kernel-ul Linux de Linus Torvalds. Are un depozit cu capacități de urmărire a reviziilor și istorie completă. Acest depozit nu depinde de un server central sau de acces la rețea. Este software liber. Git este distribuit sub GNU, iar întreținerea lui este supravegheată de Junio ​​Hamano. Apache Subversion, sau SVN, este distribuit sub licența open source. Este un sistem de control al versiunilor VCS nedistribuit. Nu are un depozit centralizat sau centralizat. Acesta este utilizat în principal pentru menținerea versiunilor istorice și actuale ale codului sursă, a documentației și a paginilor Web. Scopul principal al SVN este de a fi folosit ca succesor al CVS, Sistem de Concurrent Version. Acesta a fost dezvoltat de CollabNet, Inc.

 Conținutul stocat în Git este metadata. Stochează conținutul în dosarul numit directorul .git, care are o dimensiune mai mare. Dosarul .git din mașină este depozitul clonat. Dosarul conține toate etichetele, istoricul versiunilor, ramurile etc., ca în depozitul central; SVN stochează fișiere. Ei nu au un depozit clonat.

 Clădirile Git sunt mai ușor de utilizat. Sistemul ajută la fuzionarea rapidă a fișierelor și, de asemenea, ajută la găsirea celor nespălate; sucursalele SVN sunt de fapt un dosar prezent în depozit. Pentru îmbinarea ramurilor, sunt necesare comenzi speciale.

 SVN are un număr global de revizie, numărul de revizie este o captură de cod sursă; Git nu are acest lucru.

 Git are conținuturi care au fost șterse criptografic. Aceasta se face prin utilizarea unui algoritm denumit algoritm SHA1 hash. Această caracteristică ajută la protejarea conținutului din coruperea depozitului care are loc datorită problemelor legate de rețea sau disfuncționalități ale discurilor.

Rezumat:

  1. Git este un VCS distribuit; SVN este un VCS nedistribuit.
  2. Git are un server și un depozit centralizat; SVN nu are un server sau un depozit centralizat.
  3. Conținutul în Git este stocat ca metadate; SVN stochează fișiere de conținut.
  4. Ramurile Git sunt mai ușor de utilizat decât ramurile SVN.
  5. Git nu are funcția globală de revizie ca SVN.
  6. Git are o protecție mai bună a conținutului decât SVN.
  7. Git a fost dezvoltat pentru kernel-ul Linux de Linus Torvalds; SVN a fost dezvoltat de CollabNet, Inc.
  8. Git este distribuit sub GNU, iar întreținerea lui este supravegheată de Junio ​​Hamano; Apache Subversion, sau SVN, este distribuit sub licența open source.