Desarrollo colaborativo y despliegue de aplicaciones: git

git es un programa distribuido de gestión de control de versiones. Se diseñó originalmente para la gestión de fuentes del núcleo de Linux, pero hoy en día se usa también de forma extensiva para despliegue de aplicaciones.

Un sistema de control de versiones permite saber a quién corresponde cada cambio en un fuente y revertir tales cambios si hay algún problema en los mismos. También permite trabajar simultáneamente con diferentes versiones y, eventualmente, fusionarlas conservando los cambios en las mismas. El hecho de que se puedan revertir los cambios y también integrarse en un flujo de desarrollo (que incluya integración continua, por ejemplo) es la clave de su popularidad en el despliegue de aplicaciones en la nube.

Esta presentación sobre Git y su uso en GitHub está más enfocada al uso general, pero las órdenes básicas que se usan para desplegar en la nube se tratan también. El Zen de Git de Psicobyte presenta de forma amena todos los conceptos del programa.

Hazlo ya

Instala git

sudo apt-get install git

y ábrete una cuenta en GitHub. Recuerda poner tus datos de contacto, ciudad y empresa o universidad, en el perfil para salir en estos ránkings.

Resulta muy incómodo usar todo el tiempo el nombre de usuario y la clave, lo que ocurre si usas el URL https de GitHub, es decir, conexión a GitHub por HTTP. Crea un par de claves pública y privada y usa a partir de ese momento las conexiones vía SSH.

Ciclo básico

El ciclo básico de uso de git consiste, tras la clonación, en hacer pull - modificar - commit - push. Este último sincroniza la versión local con la versión remota. Se pueden hacer varios commits antes de hacer push; todos los cambios se subirán al hacerlo. En realidad el programa es mucho más complejo y admite múltiples cambios, pero a este nivel es suficiente con conocer esto. Es decir:

#Descarga el repo
git clone git@github.com:mini-git/mini-git.github.io.git

#O actualízalo
git pull

#O en caso de tener varios repositorios origen
git pull origin master

#Si tu repositorio es un fork y has definido upstream
git pull upstream master

#Añade un fichero al repo o al commit
git add _posts/un_post.md

#Mensaje del commit y añade todos los ficheros modificados
git commit -am "Añade un post"

#Sincroniza con el repositorio remoto
git push

Este vídeo de 14 minutos sirve como introducción al uso de git.

Mini tutorial y chuleta

En El Baúl del programador, con una lista extensa de comandos.

Libro

Aprende git… Y de camino, GitHub, por un euro, es una introducción bastante completa, hecha por Psicobyte y un servidor.

Autor

JJ Merelo (Twitter/GitHub/G+). JJ Merelo

Licencia

CC-BY-SA