Différence entre Git et SVN

Git vs SVN

Git et SVN sont tous deux des logiciels. Git est SCM, la gestion du code source et un système de contrôle de révision distribué. SVN est un système de contrôle de révision et de gestion de version de logiciel.

 Git est un SCM dont le principal objectif est la vitesse. Il a été développé pour le noyau Linux par Linus Torvalds. Il possède un référentiel avec des capacités de suivi des révisions et un historique complet. Ce référentiel ne dépend pas d'un serveur central ou d'un accès réseau. C'est un logiciel libre. Git est distribué sous GNU et sa maintenance est supervisée par Junio ​​Hamano. Apache Subversion, ou SVN, est distribué sous licence open source. Il s'agit d'un système de contrôle de version VCS non distribué. Il ne possède pas de référentiel centralisé ni de serveur centralisé. Il est principalement utilisé pour la maintenance des versions historiques et actuelles du code source, de la documentation et des pages Web. L'objectif principal de SVN est de succéder à CVS, Concurrent Version System. Il a été développé par CollabNet, Inc.

 Le contenu stocké dans Git est une métadonnée. Il stocke le contenu dans le dossier appelé dossier .git, qui a une taille plus grande. Le dossier .git de la machine est le référentiel cloné. Le dossier est constitué de toutes les balises, historiques de versions, branches, etc., comme dans le référentiel central; SVN stocke des fichiers. Ils n'ont pas de référentiel cloné.

 Il est plus facile de travailler avec les branches Git. Le système aide à fusionner les fichiers rapidement et aide également à trouver les fichiers non fusionnés; les branches SVN sont en réalité un dossier présent dans le référentiel. Pour fusionner les branches, des commandes spéciales sont requises.

 SVN a un numéro de révision global, le numéro de révision est un instantané du code source; Git n'a pas ça.

 Git a un contenu qui est haché de manière cryptographique. Cela se fait par l'utilisation d'un algorithme appelé algorithme de hachage SHA1. Cette fonctionnalité aide à protéger le contenu de la corruption du référentiel en raison de problèmes de réseau ou de pannes de disque..

Résumé:

  1. Git est un VCS distribué; SVN est un VCS non distribué.
  2. Git dispose d'un serveur et d'un référentiel centralisés. SVN n'a pas de serveur centralisé ni de référentiel.
  3. Le contenu de Git est stocké sous forme de métadonnées. SVN stocke des fichiers de contenu.
  4. Les branches Git sont plus faciles à travailler que les branches SVN.
  5. Git ne possède pas la fonctionnalité de numéro de révision globale comme SVN.
  6. Git a une meilleure protection du contenu que SVN.
  7. Git a été développé pour le noyau Linux par Linus Torvalds; SVN a été développé par CollabNet, Inc.
  8. Git est distribué sous GNU et sa maintenance est supervisée par Junio ​​Hamano. Apache Subversion, ou SVN, est distribué sous licence open source.