Git y SVN

Anonim

Git vs SVN

Git y SVN son ambos software. Git es SCM, gestión de código fuente y un sistema de control de revisión distribuido. SVN es un sistema de control de revisiones y control de versiones de software.

 Git es un SCM con su énfasis principal en la velocidad. Fue desarrollado para Linux kernel por Linus Torvalds. Tiene un repositorio con capacidades de seguimiento de revisión y un 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 que sea centralizado o un servidor centralizado. Se utiliza principalmente para mantener versiones históricas y actuales de código fuente, documentación y páginas web. El objetivo principal de SVN es ser usado como sucesor de CVS, Sistema de versión concurrente. Fue desarrollado por CollabNet, Inc.

 El contenido almacenado en Git es metadatos. Almacena el contenido en la carpeta llamada carpeta.git, que tiene un tamaño más grande. La carpeta.git en la máquina es el repositorio clonado. La carpeta consta de todas las etiquetas, historiales de versión, 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. El sistema ayuda a combinar los archivos rápidamente y también ayuda a encontrar los no combinados; 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 criptográficamente hash. Esto se hace mediante el uso de un algoritmo denominado algoritmo hash SHA1. Esta característica ayuda a proteger el contenido de la corrupción del repositorio que se produce 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 centralizado y un repositorio; SVN no tiene un servidor o repositorio centralizado.
  3. El contenido en Git se almacena como metadatos; SVN almacena archivos de contenido.
  4. Las sucursales de Git son más fáciles de trabajar que las sucursales SVN.
  5. Git no tiene la función de número de revisión global como SVN.
  6. Git tiene mejor protección de contenido que SVN.
  7. Git fue desarrollado para Linux kernel 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.