lunes, 29 de octubre de 2018

.git Alabado seas (tutorial sobre ramas)


Hola gentecilla, bienvenidos a git. Esto es una secta.

Vale, no es una secta pero ni esto es git pero es que sois un público difícil y de alguna forma tendré que llamar vuestra atención. Esto, como bien indica el título es un tutorial sobre cómo funcionan las ramas de git, entonces, soy consciente de que muchos de vosotros estaréis pensando qué es git? Así que primero vamos a dar una pequeña explicación sobre qué es git y luego entraremos en materia, os parece bien?

Primero de todo y para los menos metidos en este mundo, qué es git?

Es un software de control de versiones , pensado en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un gran número de archivos de código fuente. Su propósito es llevar registro de los cambios en archivos de computadora y coordinar el trabajo que varias personas realizan sobre archivos compartidos.

Dicho a modo fácil y sencillo (y algo mal dicho realmente), es un programa que te guarda los progresos que haces en tus proyectos.

Para más información entrad a la web de git.

Lo que voy a explicaros hoy son las ramas dentro de git, que qué son? Las ramas son el mismo proyecto pero en un estado diferente. Dejadme poneros un ejemplo que seguro que lo entendéis mejor:

Imaginemos que tienes un proyecto muy tonto, que son 3 archivos y quieres eliminar uno de ellos pero no estás seguro de si puedes eliminarlo y quieres intentarlo, pero también quieres avanzar en ese archivo por si al final no puedes eliminarlo, pues una rama crearía una réplica del proyecto en la que podrías avanzar borrando ese archivo y en la original seguiría intacta. Ahora pensaréis, vale y si quiero ese cambio qué hago? Lo bonito de esto, es que estas ramas luego se pueden juntar (o no) con la rama principal.

Entonces, la pregunta obvia, cómo lo hacemos?

Git nos proporciona varios comandos así que vamos a explicarlos a modo tutorial:

Vamos a crear un repositorio git y en él vamos a crear un fichero denominado actores.txt en el que añadiremos 3 actores, tal que así:




Y ahora realizaremos nuestro primer commit, para ello ejecutaremos el comando git add y git commit:




Hasta aquí todo parece bastante sencillo, no? Vamos a avanzar un poco más, vamos a crear una rama y vamos a meter dentro de esta rama un archivo llamado actrices.txt y vamos a ver con git log --graph --all qué nos muestra:




Y ahora cambiaremos a la rama master con el comando git checkout master y juntemos los archivos de ambas ramas con git merge nombre_rama y os debería salir algo así:



Ahora vamos a crear una nueva rama para dejar este tutorial completo:


Y en master añadiremos una actriz al archivo actrices.txt:


Para nuestra finalidad didáctica tenemos que hacer un commit para que en la otra rama no aparezca así que procedemos a ello y cambiaremos a la rama test2:



Ahora en test2 haremos lo mismo, añadiremos una actriz distinta (Nota, observad que en test2 tenéis solo 3 actrices ya que los cambios se han hecho sobre la rama master, no sobre test2):


Con git log --graph --all podemos ver todos los cambios y cómo tenemos 2 caminos, master y test2:


Ahora intentaremos juntar las 2 ramas y como veremos, nos surge un error ya que hay un archivo que tiene incongruencias:



Ahora al entrar a actrices.txt debería aparecernos algo como esto:


Para solucionarlo simplemente eliminamos el head y el test2 y dejamos el archivos como queremos que se quede:


Y ahora al hacer el merge...


Y con esto ya estaría, podemos ver en git log --graph --all el commit que ha juntado las ramas:



Y bueno, este blog se ha hecho un poco largo pero creo que era necesario que conocierais esta maravilla que más de una vez me ha salvado el culo, añadir que todo esto se guarda online y que puedes acceder fácil desde otro ordenador.

Nos vemos en el siguiente blog chic@s, hasta la próxima!

No hay comentarios:

Publicar un comentario