¿Qué es el control de versiones Git?
¿Qué es Git y cómo se utiliza?
El desarrollo de software necesita un sistema de control de versiones versátil y flexible que guarde las diferencias entre distintas variantes y permita crear ramas experimentales (branches). Una solución publicada bajo licencia de código abierto que satisface estas necesidades es el software ampliamente difundido Git, que permite administrar de forma eficiente incluso proyectos muy complejos. Para ponerlo a disposición de todos los desarrolladores en paralelo, los programadores responsables normalmente publican su código en un hosting Git como Github, Gitlab o en sus propios VPS o Servidores Dedicados. Esto sirve a la vez como plataforma para la comunicación interna y como medio para publicar propuestas de cambios en el código fuente (commits). Además, el hosting Git permite, por ejemplo, que todos los visitantes autorizados informen de errores (bugs) y posibles vulnerabilidades (exploits) en el código o en el uso de un programa.
¿Qué relación tiene Git con Linux y el software de código abierto?
Linux y sus derivados constituyen, hoy en día, el sistema operativo más extendido a nivel mundial con diferencia. Esto se debe, entre otras cosas, a su uso en una gran diversidad de dispositivos: desde teléfonos inteligentes y televisores, pasando por routers, módems y electrodomésticos conectados como frigoríficos y lavadoras, hasta servidores Linux en Internet. Todos ellos utilizan un núcleo de Linux (Linux Kernel) al que cualquier usuario puede enviar propuestas y mejoras. Para coordinar el desarrollo, Linux utilizó inicialmente el sistema propietario de control de versiones Bitkeeper. Cuando este dejó de permitirse su uso gratuito debido a un cambio de licencia, Linus Torvalds, responsable del núcleo de Linux, decidió crear un sistema de control de versiones propio —Git— que debía cumplir varias condiciones:
- Acceso paralelo por numerosos desarrolladores
- Distribución del trabajo y de la responsabilidad entre los participantes
- Gestión eficiente y clara del código
- Creación de ramas experimentales para el desarrollo
- Almacenamiento local de los datos y de las propuestas con coordinación central
A partir de estas premisas se desarrolló Git: el nombre proviene de la palabra británica para "tonto". Torvalds justificó irónicamente esta elección en entrevistas alegando que le gusta nombrar proyectos por "sí mismo", y que el término Git es corto, fácil de recordar y de teclear y, hasta entonces, no se empleaba como comando.
¿Qué características definen a Git?
Git es un llamado sistema de control de versiones distribuido (Distributed Version Control System, DVCS). Esto supone una diferencia fundamental respecto a alternativas populares como, por ejemplo, Apache Subversion (SVN), que prefieren un enfoque centralizado. Con Git, cada desarrollador posee una copia local que almacena tanto el historial de versiones individual como el público. De este modo surgen, frente a un almacenamiento centralizado, diversas ventajas que Git puede aprovechar:
- Posibilidad de fusionar versiones (merge) de forma rápida y sencilla
- Creación sencilla de ramas (branches) en el código fuente
- Sincronización descentralizada entre distintos equipos
- Git obliga a los usuarios a sincronizarse antes de subir (push) cambios
- Equilibrio entre autonomía y consistencia
- Apto tanto para proyectos grandes como pequeños
- Número elevado de herramientas para depuración o integración de código
En términos generales, Git utiliza una jerarquía plana y otorga a todos los participantes de un proyecto los mismos permisos. No obstante, esos permisos pueden diferenciarse finamente cuando sea necesario, de modo que únicamente las personas autorizadas tengan acceso a datos críticos.
¿Qué es un hosting web Git?
Un Hosting web para Git es un servidor central que pone a disposición el código fuente de un programa y, además, almacena los cambios locales de los desarrolladores. En la mayoría de los casos, los responsables utilizan para este fin grandes plataformas como el proveedor en la red Gitlab o su competidor Github, adquirido por Microsoft en 2018. Aquí tenéis una comparativa de ambos proveedores. Dado que el software de código abierto está sujeto a la Licencia Pública General de GNU (GPL), Git también puede instalarse con relativamente poco esfuerzo en un servidor virtual o dedicado propio. Esto ofrece a pequeñas y medianas empresas, así como a grandes corporaciones, la posibilidad de realizar el desarrollo de software exclusivamente en su propio hardware y dentro de una infraestructura de TI autogestionada o, de forma aislada, en la intranet interna. Si buscáis Hosting web con soporte para Git, aquí encontraréis lo que necesitáis.
Foto: Angel Paredes Aldrete en Pixabay
Escribe un comentario
- Entwicklung
Etiquetas de este artículo
Más proveedores de hosting
Más artículos interesantes
El framework Symfony: ¿Qué puede hacer y para qué sirve?
El framework Symfony: Os mostramos las ventajas y desventajas frente a otros frameworks.
Zend Framework - ¿Cómo funciona la herramienta para la programación en PHP?
Zend Framework - Te mostramos las ventajas y desventajas del framework PHP.
¿Qué son Continuous Delivery y Continuous Deployment?
Aclaramos qué son Continuous Delivery y Continuous Deployment y cómo podéis integrarlos en vuestros proyectos.
GraphQL vs. REST API - ¿Cuáles son las ventajas?
Al comenzar un proyecto web a menudo surge la pregunta de cuál es la API adecuada. Hemos analizado las ventajas y desven...
Usar Docker para el sitio web: ¿qué ventajas ofrece?
Ejecutar el propio sitio web en un contenedor con Docker. Os mostramos qué debéis tener en cuenta y qué es Docker.
GitLab vs GitHub & ¿hay alternativas alemanas?
GitLab y GitHub son los líderes indiscutibles entre las plataformas de hosting para Git. Os mostramos quién es mejor.