Differenza tra Git e SVN

Git vs SVN

Git e SVN sono entrambi software. Git è SCM, gestione del codice sorgente e un sistema di controllo di revisione distribuito. SVN è un controllo di revisione e un sistema di controllo delle versioni del software.

 Git è un SCM con la sua enfasi principale sulla velocità. È stato sviluppato per il kernel Linux da Linus Torvalds. Ha un repository con capacità di tracciamento delle revisioni e cronologia completa. Questo repository non dipende da un server centrale o dall'accesso alla rete. È un software gratuito. Git è distribuito sotto GNU e la sua manutenzione è supervisionata da Junio ​​Hamano. Apache Subversion, o SVN, è distribuito sotto la licenza open source. È un VCS non distribuito, sistema di controllo della versione. Non ha un repository che è centralizzato o un server centralizzato. Viene principalmente utilizzato per il mantenimento delle versioni storiche e attuali del codice sorgente, della documentazione e delle pagine Web. L'obiettivo principale di SVN è quello di essere utilizzato come successore di CVS, Concurrent Version System. È stato sviluppato da CollabNet, Inc.

 Il contenuto memorizzato in Git è metadata. Memorizza il contenuto nella cartella denominata una cartella .git, che ha una dimensione maggiore. La cartella .git nella macchina è il repository clonato. La cartella è composta da tutti i tag, le cronologie delle versioni, i rami, ecc., Come nel repository centrale; SVN memorizza i file. Non hanno un repository clonato.

 Le filiali Git sono più facili da utilizzare. Il sistema aiuta a unire rapidamente i file e aiuta anche a trovare quelli non raggruppati; i rami SVN sono in realtà una cartella presente nel repository. Per unire i rami, sono necessari comandi speciali.

 SVN ha un numero di revisione globale, il numero di revisione è uno snapshot del codice sorgente; Git non ha questo.

 Git ha contenuti crittografati con hash. Questo viene fatto dall'uso di un algoritmo denominato algoritmo hash SHA1. Questa funzionalità aiuta a proteggere i contenuti dal danneggiamento del repository che si verifica a causa di problemi di rete o guasti del disco.

Sommario:

  1. Git è un VCS distribuito; SVN è un VCS non distribuito.
  2. Git ha un server e un repository centralizzati; SVN non ha un server o un repository centralizzati.
  3. Il contenuto in Git è memorizzato come metadati; SVN memorizza file di contenuti.
  4. Le filiali Git sono più facili da gestire rispetto alle filiali SVN.
  5. Git non ha la funzione di numero di revisione globale come SVN ha.
  6. Git ha una migliore protezione dei contenuti rispetto a SVN.
  7. Git è stato sviluppato per Linux kernel da Linus Torvalds; SVN è stato sviluppato da CollabNet, Inc.
  8. Git è distribuito sotto GNU e la sua manutenzione è supervisionata da Junio ​​Hamano; Apache Subversion, o SVN, è distribuito sotto la licenza open source.