Kit básico de supervivencia para git

Ricardo Cisterna
5 min readMay 16, 2020

--

Photo by Lance Grandahl on Unsplash

Los sistemas de control de versiones se han convertido en una herramienta esencial en el desarrollo de software. Y de entre ellos, el que más destaca es git. Git es sin duda una herramienta poderosa, pero su curva de aprendizaje es pronunciada y por tanto nos puede parecer al principio que el costo de aprenderla superan los beneficios que podemos obtener… Hasta que nos vemos forzados, porque entramos a un equipo de trabajo que la utiliza.

Así que tendiendo una mano a quienes necesitan utilizar la herramienta en el menor tiempo posible, tienen a continuación un resumen con los pasos, terminología y comandos mínimos para integrarse al equipo y no morir en el intento.

1. Preparación del ambiente

1.1 Instalación

No importa tu sistema operativo, podrás instalar git sin gastar un solo peso. La opción más obvia es descargar los instalables desde su sitio oficial, pero además puedes obtenerlo en el gestor de paquetes de tu sistema operativo, si es que utilizas alguno:

  • Todas las distribuciones de GNU/Linux tienen a git en sus repositorios, por lo que puedes instalarlo directamente desde el gestor de paquetes de tu distribución, como indica el sitio oficial. Por ejemplo:
    $ sudo dnf install git
    $ sudo apt install git
    $ sudo pacman -S git
  • En Windows, puedes Scoop:
    > scoop install git
    o Chocolatey:
    > choco install git
  • En Mac, puedes usar Homebrew:
    $ brew install git

1.2 Configuración

Aunque tiene muchas configuraciones, sólo son necesarios dos datos para git: Tu nombre y tu correo electrónico. Para configurar estas opciones, necesitas abrir la terminal desde la que tengas acceso a git:

  • Git BASH o Powershell en Windows.
  • Tu terminal preferida en Mac o en tu distribución GNU/Linux.

Una vez en la terminal, debes ejecutar dos simples comandos para la configuración mínima necesaria:

$ git config --global user.name "Juan Perez"
$ git config --global user.email "jperez@empresa.dom"

1.3 Clonando repositorios

Un repositorio de código es un directorio que, además del código, tiene una carpeta especial llamada .git (normalmente oculto en tu navegador de archivos), en la que se almacena toda la información que utiliza la herramienta. Así, para obtener el código y la información histórica de sus cambios, será necesario que clones el repositorio desde el servidor que utilizan para sincronizar, también conocido como repositorio remoto. Puede que este servidor sea un servidor privado de la empresa, o (más probablemente) un servicio de almacenamiento de repositorios en la nube, siendo los más populares:

Para saber desde donde clonar el repositorio remoto, debes consultar a tu equipo, quienes te indicarán el servicio en la nube que utilizan, te dirán como crear tu usuario y te darán acceso a sus repositorios. Una vez tengas acceso, tendrás que clonar el repositorio desde la terminal, con:

$ git clone /ruta/https/o/ssh/al/proyecto.git

Tras ejecutar el comando, tendrás un nuevo directorio con nombre proyecto, dentro del cual se encontrará el código actual de tu equipo, más el directorio especial .git, y que será una copia exacta de toda la información del repositorio remoto al momento de clonarlo. Este directorio será conocido como tu repositorio local.

2. Modificando código

Asumiendo que tu equipo utiliza el flujo de trabajo más básico de git, ya puedes comenzar a modificar código desde tu editor/IDE preferido. Y si utiliza flujos de trabajo distinto, no desesperes joven padawan, en próximas publicaciones abordaremos casos más avanzados.

En este punto dejará de usar git por un momento y harás lo que sabes hacer: Escribir código de primera. Cuando hayas finalizado tus cambios en el código, continúa con los siguientes pasos.

2.1 Revisando cambios

Para ver los cambios que generaste, puedes ejecutar el comando

$ git status

Este comando te mostrará en la terminal una lista con todos los archivos que fueron creados y modificados. Si deseas ver los cambios específicos que ocurrieron dentro de un archivo, puedes ejecutar

$ git diff ruta/al/archivo_modificado.ext

donde podrás ver todas las líneas que agregaste (con el signo +) y eliminaste (con el signo -) dentro de archivo_modificado.ext. Puedes ejecutar el mismo comando sin darle la ruta a ningún archivo

$ git diff

y podrás ver el detalle de los cambios realizados a todos los archivos en tu repositorio local.

2.2 Seleccionando cambios a guardar

Ya que has revisado los cambios que realizaste, es hora de seleccionar los que deseas guardar. Con el comando

$ git add ruta/al/archivo_modificado.ext

irás agregando los archivos a una lista de guardado (stage). Si necesitas agregar todo lo que está dentro de un directorio específico, puedes hacerlo indicando la ruta al directorio en vez de a un archivo

$ git add ruta/al/directorio/

lo que agregará todos los cambios del directorio para ser guardar, incluyendo subdirectorios.

Puedes revisar lo que has agregado a esta lista de guardado utilizando nuevamente el comando $ git status. Esta vez verás que aparecen dos listados de archivos, diferenciando los que están en la lista de guardado de los que no.

2.3 Guardando cambios

Cuando estés seguro de que tienes agregados todos los cambios que necesitas guardar, es hora de guardarlos en el histórico de cambios de git, donde puedes describir los cambios realizados y compartirlos con el resto del equipo. Para ello, utilizaremos un nuevo comando

$ git commit -m "Breve descripción de lo que implementan mis cambios"

lo que agregará a la historia de git un nuevo registro con el nombre "Breve descripción de lo que implementan mis cambios", y que contiene todos los cambios que seleccionaste para guardar. Si ahora vuelves a ejecutar $ git status, comprobarás que los cambios seleccionados ya no aparecen listados.

2.4 Publicando cambios

Ya has realizados cambios, y los has guardado en tu repositorio local, pero como no has actualizado el repositorio remoto, tu equipo aún no puede ver lo que has hecho. Para publicar tus cambios en el repositorio remoto, y que tus colegas puedan maravillarse con tus habilidades de desarrollador, sólo necesitas ejecutar

$ git push

lo que tomará los cambios que guardaste en local, y los copiará en el histórico del repositorio remoto, desde donde el resto de tu equipo puede bajarlos. Es posible que en este paso se te soliciten nombre de usuario y contraseña del servicio de almacenamiento de repositorios que estén utilizando.

2.5 Actualizando repositorio local

Así como tu subes cambios al repositorio remoto, el resto del equipo hará lo mismo, y esta vez será tu turno de bajar sus cambios y maravillarte con sus habilidades de desarrollo. Para obtener los cambios que realizados al repositorio remoto, debes ejecutar

$ git pull

lo que actualizará automáticamente tu repositorio local con los cambios guardados por el resto del equipo. Es posible que también en este paso se te soliciten nombre de usuario y contraseña del servicio de almacenamiento de repositorios que estén utilizando.

¿Y ahora qué?

Ya deberías ser capaz de lidiar con el flujo básico de trabajo colaborativo con git. Sin embargo, falta mucho aún por descubrir, y conceptos en los que profundizar, los que revisaremos detalladamente en futuras publicaciones, así que ¡sigue atento, que aún queda mucho por aprender!

--

--

Ricardo Cisterna

Ingeniero de software, y líder de producto en entrenamiento en #Continuum. A veces me gusta tomar mi mochila y perderme acampando en el sur de Chile.