Pregunta 1¿Cuál de estas afirmaciones sobre la diferencia entre guardar encima y hacer un commit es correcta?
Qué es Git — registrar los cambios para poder volver atrás
Este artículo forma parte del curso Fundamentos de informática, que construye desde cero los conocimientos prácticos de informática que necesitas como mínimo para programar y hacer vibe coding.
Al guardar encima no queda nada del estado anterior. Con diagramas seguimos el recorrido que va desde dejar un registro con un commit hasta sacar un momento anterior de los registros acumulados en el repositorio.
Este artículo trata de Git.
Git es un mecanismo que registra los cambios de los archivos para poder volver a un estado anterior y, si dejas esos registros en un servidor, también puedes quedar en el mismo estado que otra persona.
Los registros que aparecen en los tres lugares son los mismos: se igualan poniendo un servidor en medio.
Qué hace Git — dejar registros y compartirlos con un remoto
Registrar los cambios de los archivos momento a momento para poder recuperar un estado pasado es el control de versiones (version control).
El lugar donde se guardan esos registros es el repositorio (repository), lo mismo puesto en el servidor es el repositorio remoto (remote repository) y cada registro es un commit.
Los servicios más conocidos para alojar un repositorio remoto son GitHub y GitLab, y GitHub no es Git en sí, sino un lugar donde poner un repositorio remoto.
- app.js y style.css
- Al guardar encima, el contenido se reemplaza
- Los commits se ordenan del más antiguo al más nuevo
- git commit añade uno
- Aquí se acumulan los commits enviados con git push
- https://github.com/example/my-app.git es ese lugar
- Se puede leer y escribir desde otra computadora
Enviar al servidor los registros de tu computadora es un push y traer los registros del servidor es un pull.
Como hay un servidor en medio, el contenido es el mismo sin importar cuándo lo traiga el compañero.
Las frases sobre Git que aparecen en las instrucciones son de tres tipos.
La columna de la izquierda se queda dentro de tu computadora, mientras que la del centro y la de la derecha intercambian datos con GitHub.
Al guardar encima no queda el estado anterior — qué registra el control de versiones
Guardar encima es reemplazar el contenido de app.js por el contenido actual.
Después de reemplazarlo no queda nada del contenido anterior, así que por mucho que guardes no puedes volver a un estado anterior.
| Qué hiciste antes de editar | Dónde está el contenido anterior | Después de que deja de funcionar |
|---|---|---|
| Solo guardaste encima | En ningún lugar | No puedes volver |
| Dejaste el editor abierto | El historial de deshacer (se pierde al cerrarlo) | Puedes deshacer las ediciones hechas mientras está abierto |
| Ejecutaste git commit | El registro del repositorio | Puedes volver en cualquier momento |
El contenido anterior solo queda en el repositorio cuando has hecho un commit.
Lo único que marca la diferencia es si ejecutaste git commit una vez antes de editar.
Esa única vez crea un momento al que puedes volver.
Solo el commit deja un registro
Guardar encima borra el contenido antiguo con el actual y lo que se borra no queda en ningún lugar de la computadora.
El commit añade un registro del app.js tal como está en ese momento, sin borrar nada, así que cuando algo deja de funcionar los únicos momentos a los que puedes volver son aquellos en los que hiciste un commit.
El commit tiene dos etapas: elegir los cambios que se registran y después dejar el registro
El commit se divide en dos etapas: primero eliges y después registras.
La etapa de elegir y añadir es el staging (la etapa en la que eliges y añades los cambios que se incluyen en el commit), y por estas dos etapas, dentro de la carpeta my-app hay tres lugares por los que pasa un cambio.
- app.js — el contenido que tienes abierto ahora en el editor
- style.css — el archivo que describe cómo se ve la pantalla
- Al guardar encima, se reemplaza el contenido de aquí
- Guarda los cambios elegidos con git add
- Vuelve a quedar vacío cuando ejecutas git commit
- Los commits se ordenan del más antiguo al más nuevo
- git commit añade uno
El cambio pasa de arriba abajo en dos pasos: git add y git commit.
El cambio de index.html que no elegiste no se pierde y puedes elegirlo la próxima vez.
Los pasos para comprobar antes de registrar salen en estas tres líneas.
# Comprueba qué archivos editaste
git status
# Elige y añade los cambios que se van a registrar
git add app.js
# Registra los cambios elegidos con un mensaje corto
git commit -m "Añadir la pantalla de inicio de sesión"
Si ejecutas git status aparecen los nombres de los archivos que editaste, y con git log sale la lista de los registros.
Si ejecutas git commit sin haber ejecutado git add, no hay ningún cambio elegido, así que no se crea ningún registro.
Elige qué registrar antes de registrarlo
El commit tiene dos etapas: elegir y registrar.
Con git add eliges los cambios que entran en este registro y con git commit solo lo elegido se convierte en un registro, así que si olvidas la parte de elegir no se añade ningún registro.
El repositorio está dentro de la carpeta y los commits se ordenan del más antiguo al más nuevo
La carpeta propia que contiene el repositorio se crea en el momento en que ejecutas git init, que empieza a registrar en esa carpeta.
Cada vez que haces un commit, los registros que hay dentro aumentan de uno en uno.
- El app.js del momento en que creaste la pantalla
- La fecha y la hora y el mensaje «Crear la pantalla»
- El app.js y el style.css del momento en que añadiste los campos de entrada
- La fecha y la hora y el mensaje «Añadir los campos de entrada»
- El app.js registrado más recientemente
- La fecha y la hora y el mensaje «Añadir la pantalla de inicio de sesión»
Volver atrás es elegir uno de los registros guardados ahí y reemplazar con su contenido el app.js en el que trabajas.
Para los archivos que no quieres registrar, puedes escribir sus nombres en un archivo de configuración llamado .gitignore dentro de la carpeta.
Con esto los archivos que todavía no se han registrado dejan de registrarse, y no tiene efecto sobre un archivo que ya se registró una vez.
Los registros no se pierden: se ordenan del más antiguo al más nuevo
El repositorio está dentro de la carpeta propia que hay en la carpeta my-app.
Cada vez que haces un commit los registros aumentan de uno en uno y los registros anteriores nunca se reescriben, así que volver atrás es elegir uno de los registros guardados ahí y hacer que el archivo actual tenga su contenido.
Verificación de conocimientos
Responde cada pregunta una a una.
Pregunta 2El commit se divide en dos etapas. ¿Cuál es la etapa que va antes de dejar el registro?
Pregunta 3¿Qué operación envía un commit que dejaste en el repositorio de tu computadora al repositorio remoto que está en un servidor?