Probablemente ya conoces Git, un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente.
Gracias a su potencia y versatilidad muchos grandes proyectos de software libre están migrando sus repositorios a esta herramienta. Por esto, cada vez más es más importante saber usarla, tanto a nivel personal como laboral.
Entre las aportaciones de este software de control de versiones tenemos:
- Auditoría del código: saber quién ha tocado qué y cuándo.
- Control sobre cómo ha cambiado nuestro proyecto con el paso del tiempo.
- Volver hacia atrás de una forma rápida.
- Control de versiones a través de etiquetas: versión 1.0, versión 1.0.1, versión 1.1, etc. Sabremos exactamente que había en cada una de ellas y las diferencias entre cualquiera de ellas dos.
- Seguridad: todas las estructuras internas de datos están firmadas con SHA1. No se puede cambiar el código sin que nos enteremos.
- Mejora nuestra capacidad de trabajar en equipo.
- Merging y branching extremadamente eficientes.
Respecto a GitHub, decirte que es una una plataforma de desarrollo colaborativo de software para alojar proyectos utilizando el sistema de control de versiones Git. En principio, el código se almacena de forma pública, aunque también se puede hacer de forma privada, creando una cuenta de pago.
Un tercer elemento muy relacionado y del que hablaremos en un artículo específico, es Travis CI, un servicio de integración continua integrado con Github.
Ahora, os dejamos alguno recursos muy interesantes para aprender a usar git/github y sacarle el máximo partido:
Tutorial en español:
http://learnxinyminutes.com/docs/es-es/git-es/
TryGit. Tutor interactivo:
Guía esencial, por Carlos Sánchez:
http://carlossanchezperez.wordpress.com/2012/12/02/mi-guia-esencial-de-git-primera-parte/
http://carlossanchezperez.wordpress.com/2012/12/31/mi-guia-esencial-de-git-segunda-parte/