Git for dummies

Git es un software de control de versiones gratuito y open source. Diseñado por Linus Torvalds, diseñador también de Linux, está pensado para la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando tienen un gran número de archivos de código fuente. (Si queréis leer algo más, visitad la Wikipedia)

En Biko lo usamos en la gran mayoría de proyectos. En este post pretendo dar unas pautas básicas para iniciarse en el manejo de Git.

Con unos pocos comandos y la terminal es muy fácil manejarse con Git. En comparación con el source tree, que ya hemos dejado de usar, es sencillo y más rápido.

Configuración inicial

Necesitamos clonar nuestros proyecto para descargarlo en local, para ello necesitamos la ruta del repositorio (normalmente estará en bitbucket, será parecido a git@bitbucket.org:biko2/zombies.git). Debemos ejecutar:

git clone {RUTA_DEL REPOSITORIO} [destino]
El destino es el directorio en el que queremos clonar el repo. Si no lo ponemos, creará el directorio con el nombre del repo (en el caso de git@bitbucket.org:biko2/zombies.git lo crearía en el directorio zombies)

Pasos

  1. Entrar en el proyecto desde el terminal: cd (Ruta del proyecto de tu máquina)
    git1
  2. Una vez en tu proyecto, los comandos que hay que tener en cuenta:
    • git add *: Este comando añade los archivos que tengan modificaciones, hay que ejecutarlo antes de hacer un commit
    • git commit -m “Texto explicativo de los cambios”: Esto comitea los cambios, (comitear es como guardar los cambios en nuestro repositorio local, esto no los sube al repositorio remoto)
    • git pull origin master (o rama en la que estés trabajando): Este comando actualiza tu proyecto local con el que está en master.
    • git push origin master: Por último, comando para subir los cambios a la rama o master (repositorio remoto). Antes de hacer push es conveniente hacer pull antes, así nos descargamos los cambios que hayan realizado nuestros compañeros y minimizamos los conflictos
  3. En caso de que haya un conflicto que no se soluciona automáticamente en el terminal, te indica qué archivo tiene conflicto. Solo hay que abrir el archivo, borrar lo que sobra y guardar. Una vez hecho, repetimos los pasos del punto 2.
  4. En caso de que haya un conflicto y se resuelva automáticamente, sale esta pantalla: Merge… (Merge significa unir lo que te descargas con lo que tienes en local)gitr2
    Solo hay que poner :q enter (dependerá del editor) y ya estaría ok.git3
    Así el merge se hace automático y ya estaría todo actualizado.
  5. Si hay dudas de cómo está el proyecto, tenemos el comando git status
    Te indica cómo está el proyecto, si hay algo por comitear o está todo actualizado.

Ejemplos prácticos

  1. Entras al proyecto, intentas actualizar y:git4
    Te dice que tienes cambios en local que tienes que comitear primero. Tendríamos que añadir (git add) y comitear (git commit) una vez hecho esto nos dejará actualizarnos nuestro proyecto y hacer git pull.
  2. Todo está actualizado y no hay nada que comitear
    git5

Si en la pantalla del terminal aparece algo que aquí no hemos contado, la solución es llamar a tu desarrollador más cercano 😉