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.
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.
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
.
En El Baúl del programador, con una lista extensa de comandos.
Aprende git… Y de camino, GitHub, por un euro, es una introducción bastante completa, hecha por Psicobyte y un servidor.
JJ Merelo (Twitter/GitHub/G+).