¿Qué es GIT y para qué me sirve?

By March 17, 2020 Blog, Tutoriales

Control de Versiones

Una situación muy común, sobre todo en las carreras relacionadas con informáticas, es cómo juntar el código de todo el equipo para el trabajo final (sin fallar en el intento): Cada quien con una memoria USB y un héroe encargado de pegar todos las piezas correctamente para que todo funcione. Afortunadamente existe GIT, acá te explicaremos qué es y cómo funciona.

¿Qué es GIT?

GIT, un sistema distribuído de control de versiones que permite a un equipo de desarrollo de software, trabajar de manera simultánea en un contenedor de archivos, minimizando el riesgo de afectar el trabajo de los demás.

Su función principal se basa en un repositorio o contenedor, que es donde todos los miembros del equipo grabarán su código. Cada tarea se desarrolla en una branch donde a cada avance significativo o checkpoint se le hace commit.

Repositorio

Es el contenedor o folder donde se almacenarán los archivos, este puede ser local (en tu computadora) o remoto (en el servidor de tu proveedor de servicio). En él puedes almacenar código, imágenes, audio y todo lo relacionado con tu proyecto que requiera control de versión.

Branch

Es una copia aislada de tu repositorio que normalmente se trabaja en paralelo a la branch master de tu repositorio (la branch principal).

Pull Request

Es una solicitud de revisión de tus cambios al resto del equipo. Éste se genera de una branch y los cambios se comparan con la branch develop o master.

Ventajas

Algunas de sus principales ventajas son:

  • Permite el trabajo colectivo dentro del mismo proyecto
  • Establece un flujo de trabajo donde se tiene que revisar los cambios introducidos por los demás
  • Facilidad para resolver conflictos en el código
  • Control de versiones: puedes saltar en la historia del proyecto para encontrar una versión estable
  • Provee de una herramienta para la documentación del proyecto
  • Github cuenta con un gestor de proyectos (Kanban) integrado al repositorio

Los servicios mas comunes son GitHub, GitLab y Bitbucket. Crea una cuenta en alguno de esos servicios.

¿Pasemos del qué es GIT al cómo funciona?

Imaginemos un restaurante de hamburguesas, donde cada persona en la cocina trabaja en su parte para preparar la cena:

  • Una persona es encargada del asador y tendrá que preparar la carne al término pedido por el cliente.
  • Otra deberá preparar la hamburguesa, cuidando que tenga los ingredientes correctos.
  • Alguien más se encargará de preparar las papas a buen término y la cantidad suficiente de sal.
  • Por último alguien servirá la bebida.

Cada quien tiene una tarea específica donde ciertas condiciones de satisfacción se deben de cumplir. Si alguna de esas condiciones no se cumplen, el mesero rechazará la comida y pedirá que se rectifique. Será hasta que todas las condiciones se cumplan, cuando el mesero llevará la comida a la mesa del cliente.

En esta analogía, el repositorio es la charola del mesero, cada actividad (parrillero, cocinero, bebida) se realiza en una branch. Cada que alguien termina su actividad o necesita revisión de alguien mas, realiza un commit. Al final, el mesero aprueba si la orden es como la pidió el cliente y la lleva a la mesa.

Al clonar (descargar) un repositorio, se crea de manera local, es decir, se hace una copia de lo que hay en repositorio remoto a tu computadora. Todas las branches se trabajan en el repositorio local. Existen un par de comandos que mandan tus cambios al repositorio remoto.

 

GIT Branch and Merge

Cómo instalarlo

  1. Necesitas tener una consola, les recomiendo CMDR si usan Windows. Linux y Mac tienen su propia consola (terminal) integrada.
  2. Instala GIT.
  3. Crea un folder en tu computadora donde estarán tus proyectos. Si usas XAMPP, MAMP o alguno similar, busca el folder htdocs o www. Si no, crea el folder donde gustes.
  4. Accede a la consola y ve al folder que creaste. Puedes probar los comandos siguientes.

Comandos más comunes

qué es git

Flujo de git

git clone

Sirve para clonar (grabar) un repositorio remoto a tu computadora.

git clone https://github.com/nearshoreit-dev/learning-github.git

git checkout

Sirve para crear o cambiar de branch localmente

git checkout -b nombre-de-mi-branch

git status

Para conocer el status y el nombre de la branch actual. Listará los archivos que han cambiado, los que has agregado o borrado.

git status

git add

Agrega los cambios hechos a un archivo en específico a un ‘stage’ para grabarlos en el repositorio local

git add nombre-del-archivo

Agrega los cambios de todos los archivos modificados al ‘stage’

git add .

git commit

Guarda los cambios enviados al ‘stage’ en el repositorio local. Crea una especie de checkpoint de tu trabajo. Es importante que al realizar un commit, agregues un mensaje útil para otros desarolladores sobre qué es lo que se hizo en ese commit: “Arreglar endpoint de usuarios”, “Se agregó la vista de la página de login”, etc.

git commit -m "Algún mensaje relacionado con lo que se está grabando"

git push

Envía todos los cambios del repositorio local al remoto. Al hacer esto, los otros desarrolladores de tu equipo podrán ver tu trabajo. La primera vez que lo ejecutes tendrás que especificar el nombre de la branch para crear una idéntica en el repositorio remoto.

git push -u origin nombre-de-mi-branch

Las posteriores, no es necesario

git push

Ejercicio

  1. Visita github.com y crea una cuenta.
  2. Abre tu consola CMDER o Terminal.
  3. Escribe cd / y presiona enter. Esto te llevará al folder raíz de tu computadora.
  4. Escribe mkdir proyectos y presiona enter. Esto creará un folder llamado proyectos.
  5. Escribe cd proyectos y presiona enter para cambiarte al folder proyectos.
  6. Clona esta branch usando git clone https://github.com/nearshoreit-dev/learning-github.git
  7. Se creará un folder llamado learning-github dentro del folder de tus proyectos
  8. Entra al folder learning-github escribiendo cd /learning-github
  9. Verás que al entrar a ese folder estarás en la branch master
  10. Crea una branch con tu nombre git checkout -b mi-nombre 
  11. Si ejecutas git status verás que has cambiado a tu branch
  12. Crea un archivo html que se llame como tu mi-nombre.html Puedes usar el editor de código de tu preferencia (Sublime, Visual Code, etc.) o incluso el explorer de Windows.
  13. Ejecuta git status de nuevo y verás que te marcará que hay un archivo nuevo
  14. Ejecuta git add. para agregar el archivo al repositorio local
  15. Ahora git commit -m “Agregando html con mi nombre”
  16. Finalmente git push -u origin mi-nombre

 

AVIADA Tutoriales

Roberto Tejeda

Author Roberto Tejeda

More posts by Roberto Tejeda