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

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.
Cómo instalarlo
- Necesitas tener una consola, les recomiendo CMDR si usan Windows. Linux y Mac tienen su propia consola (terminal) integrada.
- Instala GIT.
- 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.
- Accede a la consola y ve al folder que creaste. Puedes probar los comandos siguientes.
Comandos más comunes

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
- Visita github.com y crea una cuenta.
- Abre tu consola CMDER o Terminal.
- Escribe cd / y presiona enter. Esto te llevará al folder raíz de tu computadora.
- Escribe mkdir proyectos y presiona enter. Esto creará un folder llamado proyectos.
- Escribe cd proyectos y presiona enter para cambiarte al folder proyectos.
- Clona esta branch usando git clone https://github.com/nearshoreit-dev/learning-github.git
- Se creará un folder llamado learning-github dentro del folder de tus proyectos
- Entra al folder learning-github escribiendo cd /learning-github
- Verás que al entrar a ese folder estarás en la branch master
- Crea una branch con tu nombre git checkout -b mi-nombre
- Si ejecutas git status verás que has cambiado a tu branch
- 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.
- Ejecuta git status de nuevo y verás que te marcará que hay un archivo nuevo
- Ejecuta git add. para agregar el archivo al repositorio local
- Ahora git commit -m “Agregando html con mi nombre”
- Finalmente git push -u origin mi-nombre
Tag:tutoriales