Uso de Git

Git es un sistema que constantemente checa si hay nuevos archivos en algún proyecto, si los borramos o si los modificamos y guarda los cambios (no guarda chorrocientos mil archivos, sólo guarda los cambios). Es una forma elegante de tener versiones de los archivos y de poder viajar en el tiempo 👀⌛*.*

Configurando Git

En Linux (y WSL) Git ya está instalado por defecto; en Windows no 🙄 pero se puede instalar muy fácilmente desde su página oficial:

Git

Para comenzar el repositorio local, vamos a la carpeta donde queramos tener el proyecto y sería buena idea aprovechar para configurar de una vez git:

# Para arrancar el repositorio:
git init

# Para poner nuestro usuario y el correo asociado:
git config --global user.name "usuario"
git config --global user.email "correo"

# Y podemos checar la configuración hasta ahora (te sales con q):
git config -l 

El primer commit ✨

En el principio, creó el usuario los archivos y el repositorio. Génesis v0.1

Creemos el primer commit 😃 Imagina que cada commit es como cuando guardas un juego o tomas una foto; es un checkpoint al que puedes regresar en cualquier momento, pero no a lo que hay en medio. Recuerda: son "fotos" del proyecto, no una película.

Tenemos una carpeta vacía y, con suerte, ya iniciamos el repositorio. Así que creemos un archivo.txt (bien original 😅) y veamos su contenido (es útil saber las bases de la terminal 🤔).

Creamos nuestro primer archivo! :D

Creamos nuestro primer archivo! :D

Mi terminal me dice que hay algo raro (eso es el ?1). Para saber cómo va nuestra línea de tiempo, usamos git status :

No le tengas miedo a las letras rojas 😅

No le tengas miedo a las letras rojas 😅

Como ves, git nos dice que hay un archivo untracked. Git sabe que pasó algo; un nuevo archivo llegó a la fiesta pero no le va a tomar "foto" si no le decimos que lo haga. Así que le decimos que no sea mala persona y no lo discrimine. Podemos hacerlo de dos maneras:

# Agregamos archivo.txt a la foto
git add archivo.txt

# Si queremos agregar TODA la carpeta:
git add .

¿Por qué agregamos cada archivo? Bueno, a veces podríamos tener un archivo en la carpeta pero que no queremos necesariamente ir agregando al repositorio. Puede ser una lista de cosas por hacer, o ideas, o notas que dejaste en la noche antes de dormir y que te dicen a ti (y sólo a ti) qué seguir haciendo después. O puede ser un meme de tu jefe, el cual no querías que nadie viera 😳 En cualquier caso, si quieres tomarle foto sólo a algunos archivos y no a todos, para eso está.

Sin embargo, si hay archivos que tienen y van a estar mucho tiempo en la carpeta pero que no van a ir al repositorio (por ejemplo, archivos con contraseñas 🔑😱) puedes hacer un archivo que se llame .gitignore y ahí poner los archivos o carpetas que no quieres trackear.

# Vamos a ignorar toda la carpeta cosas_vergonzosas:
/cosas_vergonzosas/*

# Ignoremos todos las imágenes .png:
/*.png

# Pero dentro de la carpera, por alguna razón, hay un archivo que sí necesitamos:
!/cosas_vergonzosas/archivo_completamente_util