¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Commits en Git: guarda y lee el historial

Después de esta lección: Puedo guardar mis cambios como commits y leer el historial de un proyecto.

Lección de 55 min13 comandosLaboratorio de Git y Gitea: aprende clone, commit y push en un servidor Git propio

Git guarda cada versión de tu proyecto

Git es un sistema de control de versiones: un programa que guarda cada cambio de un proyecto con su fecha y su autor. Gracias a él puedes volver a cualquier versión anterior y saber quién cambió cada línea.

Piensa en cuatro estudiantes que preparan un trabajo de grupo. Cada uno guarda copias como informe_v2_definitivo. Nadie sabe cuál es la buena. Git acaba con ese desorden.

Al terminar esta lección

Nota

Puedo guardar mis cambios como commits y leer el historial de un proyecto.

Palabras clave

PalabraQué significaEjemplo
Repositoriocarpeta de un proyecto con todo su historial
Commituna versión guardada del proyecto, con un mensaje
Área de preparaciónlista de cambios elegidos para el próximo commit
Historialla lista de todos los commits, del más nuevo al más antiguo
Hashnombre corto y único de un commit9f3a1c2

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Un commit es una foto del proyecto

Un repositorio es una carpeta que Git vigila. Dentro guarda el historial de todo lo que pasó en ella.

Cada vez que quieres guardar una versión haces un commit. Es una foto de los archivos en ese momento, con un mensaje que dice qué cambiaste y por qué.

Vas a crear un repositorio nuevo para la lista de precios de una cafetería de la facultad. Se llama tienda. Vive solo en tu laboratorio.

Crea un repositorio nuevo

Comando
git init -q -b main tienda

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Fija tu nombre de autor

Comando
git -C tienda config user.name "Estudiante"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Fija tu correo de autor

Comando
git -C tienda config user.email "[email protected]"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un cambio pasa por tres lugares

Un archivo que editas está en tu directorio de trabajo. Con git add lo mandas al área de preparación: allí eliges qué entra en el próximo commit.

Con git commit Git guarda lo preparado en el repositorio. Solo entra lo que preparaste.

Esto te deja guardar cambios por separado aunque hayas editado cinco archivos a la vez.

Crea el archivo de precios

Comando
printf 'cafe 1.20\nbocadillo 3.50\n' > tienda/precios.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Mira el estado en formato corto

Comando
git -C tienda status --short

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Prepara el archivo

Comando
git -C tienda add precios.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Mira otra vez el estado

Comando
git -C tienda status --short

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Guarda el primer commit

Comando
git -C tienda commit -q -m "Crear la lista de precios"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

El historial dice quién, cuándo y por qué

Cada commit guarda el autor, la fecha, el mensaje y un hash, un nombre corto y único como 9f3a1c2. El historial los lista del más nuevo al más antiguo.

Un buen mensaje dice qué cambió y por qué, en una frase corta. "Subir el café a 1,30 EUR" ayuda dentro de seis meses. "arreglos" no ayuda a nadie.

Ahora añade una línea, mira el cambio y guárdalo.

Añade una línea al archivo

Comando
printf 'agua 1.00\n' >> tienda/precios.txt

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Cuenta lo que cambió

Comando
git -C tienda diff --stat

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Guarda el segundo commit

Comando
git -C tienda commit -q -am "Incluir agua en la lista"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Lee el historial con el autor

Comando
git -C tienda --no-pager log --format="%an: %s"

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Lee el historial en cuatro partes

Comando
git -C tienda --no-pager log --format="%h|%ad|%an|%s" --date=short

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un error frecuente

Advertencia

Mucha gente cree que git add guarda la versión. No es así: solo prepara el cambio. El historial no cambia hasta que haces git commit. Si olvidas el commit, tu trabajo no está guardado en Git.

Sobre este laboratorio y su código: Laboratorio de Git y Gitea: aprende clone, commit y push en un servidor Git propio

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.