Diferencia entre Git y SVN

Git vs SVN

Git y SVN son software. Git es SCM, fuentecódigo administracióny un sistema de control de revisiones distribuido. SVN es un control de revisión ysoftwaresistema de control de versiones.

 Git es un SCM cuyo principal énfasis está en la velocidad. Fue desarrollado para el kernel de Linux por Linus Torvalds. Tiene un repositorio con capacidad de seguimiento de revisiones e historial completo. Este repositorio no depende de un servidor central o acceso a la red. Es software libre.Git se distribuye bajo GNU, y su mantenimiento es supervisado por Junio ​​Hamano. Apache Subversion, o SVN, se distribuye bajo la licencia de código abierto. Es un VCS no distribuido, sistema de control de versiones. No tiene un repositorio ni centralizado ni servidor centralizado. Se utiliza principalmente para mantener versiones históricas y actuales del código fuente, documentación y páginas web. El objetivo principal de SVN es ser utilizado como sucesor de CVS, Concurrent Version System. Fue desarrollado por CollabNet, Inc.



 El contenido almacenado en Git son metadatos. Almacena el contenido en la carpeta denominada carpeta .git, que tiene un tamaño mayor. La carpeta .git de la máquina es el repositorio clonado. La carpeta consta de todas las etiquetas, historiales de versiones, ramas, etc., como en el repositorio central; SVN almacena archivos. No tienen un repositorio clonado.

 Las ramas de Git son más fáciles de trabajar. lossistemaayuda a fusionar los archivos rápidamente y también ayuda a encontrar los no fusionados; las ramas SVN son en realidad una carpeta presente en el repositorio. Para fusionar las ramas, se requieren comandos especiales.

 SVN tiene un número de revisión global, el número de revisión es una instantánea del código fuente; Git no tiene esto.

 Git tiene contenidos con hash criptográficos. Esto se hace mediante el uso de un algoritmo denominado algoritmo hash SHA1. Esta función ayuda a proteger el contenido de la corrupción del repositorio debido a problemas de red o fallas de disco.

Resumen:

  1. Git es un VCS distribuido; SVN es un VCS no distribuido.
  2. Git tiene un servidor y un repositorio centralizados; SVN no tiene un servidor o repositorio centralizado.
  3. El contenido de Git se almacena como metadatos; SVN almacena archivos de contenido.
  4. Las ramas de Git son más fáciles de trabajar que las ramas SVN.
  5. Git no tiene la función de número de revisión global como SVN.
  6. Git tiene una mejor protección de contenido que SVN.
  7. Git fue desarrollado para el kernel de Linux por Linus Torvalds; SVN fue desarrollado por CollabNet, Inc.
  8. Git se distribuye bajo GNU y su mantenimiento es supervisado por Junio ​​Hamano; Apache Subversion, o SVN, se distribuye bajo la licencia de código abierto.