Control de Versiones con Git: Comandos Básicos y Flujo de Trabajo

Clase 3 de 42Curso de Git y GitHub

Contenido del curso

Fundamentos de Git y control de versiones

Introducción a GitHub

Herramientas de colaboración en GitHub

Resumen

Dominar el flujo de trabajo básico de Git es el primer paso para gestionar cualquier proyecto de software con confianza. Aquí se explica cómo crear archivos, pasarlos al área de staging y registrarlos con un commit, todo desde la terminal y con ejemplos prácticos.

¿Qué es la carpeta .git y por qué es importante?

Cuando ejecutas git init en una carpeta, se crea un directorio oculto llamado .git. Para visualizarlo puedes usar el comando ls -a [00:22]. Esta carpeta es el corazón del control de versiones: funciona como una bitácora que almacena un registro detallado de todos los cambios realizados en tus archivos. Sin ella, Git simplemente no existe dentro de tu proyecto.

Una vez inicializado el repositorio, cualquier archivo que crees dentro de esa carpeta puede ser rastreado. Por ejemplo, al escribir nano testing.txt y agregar contenido, ese archivo queda listo para ser gestionado por Git [00:42].

¿Cómo funciona el área de staging en Git?

El área de staging (también llamada stage) es un estado intermedio entre la creación de un archivo y su registro definitivo en el historial. Es un "limbo" donde los archivos esperan a ser confirmados o descartados [01:42].

¿Qué hace git status?

El comando git status muestra el estado actual de tus archivos [01:10]. Indica:

  • Si estás en la rama main.
  • Si hay archivos nuevos, modificados o eliminados.
  • Si esos archivos ya fueron agregados al stage o no.

El cambio de color es el mejor indicativo: los archivos en rojo aún no están en stage, mientras que los verdes ya fueron agregados y esperan un commit [01:30].

¿Cómo agregar y quitar archivos del stage?

Para mover un archivo al área de staging se usa git add seguido del nombre del archivo, por ejemplo git add testing.txt [01:22]. También es posible agregar todos los archivos pendientes de golpe con git add . [03:35].

Si necesitas sacar un archivo del stage y regresarlo a su estado original, el comando es git rm --cache testing.txt [02:52]. Esto no elimina el archivo, solo lo retira del área de preparación.

Este mecanismo te permite decidir qué archivos sí y cuáles no quieres incluir en tu próximo registro de cambios [02:15].

¿Cómo hacer tu primer commit y registrar cambios?

Una vez que los archivos están en stage, el siguiente paso es ejecutar git commit -m "mensaje" [03:55]. El parámetro -m indica que vas a escribir un mensaje descriptivo entre comillas, explicando qué cambios realizaste. Por ejemplo:

bash git commit -m "nuevo archivo de testing"

Al presionar Enter, Git confirma la rama en la que trabajas, el mensaje del commit y un resumen de los cambios: archivos modificados, inserciones y eliminaciones [04:08].

¿Qué pasa cuando modificas un archivo ya registrado?

Si actualizas el contenido de un archivo que ya fue commiteado, al ejecutar git status la leyenda cambia de "creado" a modificado [05:42]. El proceso para registrar esa actualización es exactamente el mismo:

  • git add . para pasarlo al stage.
  • git commit -m "primer archivo modificado" para registrarlo [06:02].

Git distingue tres estados posibles para un archivo: creado, modificado o eliminado. Independientemente del estado, el flujo siempre sigue la misma secuencia.

¿Cómo verificar el historial de cambios?

El comando git log muestra la bitácora completa de commits realizados [05:12]. Cada entrada incluye el autor, la fecha y el mensaje asociado, lo que facilita rastrear la evolución del proyecto.

Para confirmar que no quedan cambios pendientes, basta con ejecutar git status y verificar que el mensaje indique que el árbol de trabajo está limpio [05:05].

Es importante señalar que este flujo aplica a cualquier tipo de archivo: no importa si son .txt, .php, .go, .js o incluso imágenes. Git los gestiona de la misma forma al hacer add y commit, sin importar la extensión [06:42].

Si ya completaste tu primer commit, comparte en los comentarios qué mensaje le pusiste y cómo te fue con el proceso.