Descartar cambios preparados
Ahora supón que hemos decidido hacer que nuestro Hello, World! destaque. ¡Vamos a ponerlo como encabezado!
Para hacerlo, ¿por qué no envolvemos el contenido de hello.html en las etiquetas <head>? El resultado debería quedar así:
<head>Hello, World!</head>Envuelve el contenido de hello.html en las etiquetas <head> </head> y prepara los cambios.
Un momento... ¿He dicho etiquetas <head> </head>? Ay, perdón, claro que quería decir las etiquetas <h1> </h1>. Por desgracia, los cambios ya están preparados.
Antes de tocar nada, ejecutemos rápidamente git status para ver qué está pasando.
CONSEJO MUY ÚTIL: Puedes usar las flechas y del teclado para moverte por tu historial de comandos en la terminal. Es una forma estupenda de no volver a escribir comandos.
Ejecuta el comando git status para comprobar el estado del repositorio.
Deberías ver algo parecido a esto:
On branch main
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: hello.html
Sigamos el consejo del propio comando y quitemos los cambios del área de preparación usando el comando git restore con la opción extra --staged.
Ejecuta el comando git restore --staged . para limpiar el área de preparación.
Comprobemos el estado otra vez.
Ejecuta el comando git status para comprobar el estado del repositorio.
La salida debería tener este aspecto:
On branch main
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: hello.html
no changes added to commit (use "git add" and/or "git commit -a")
¡Sorpresa! Los cambios siguen ahí. Pero al menos ya no están preparados para el commit.
Para descartarlos por completo, podemos ejecutar el comando git restore sin ninguna opción (igual que hicimos en el paso anterior del curso).
Ejecuta git restore . para limpiar el directorio de trabajo.
Comprobemos el estado otra vez.
Ejecuta el comando git status para comprobar el estado del repositorio.
La salida debería tener este aspecto:
On branch main
nothing to commit, working tree clean
¡Y ya está! Los cambios se han descartado y el directorio de trabajo vuelve a estar limpio.
De hecho, podríamos haber devuelto el directorio de trabajo a un estado limpio de una sola vez. El comando git restore funciona en dos modos: el modo predeterminado --worktree, que restaura el directorio de trabajo, y el modo --staged, que restaura el área de preparación. Podríamos haber usado ambas opciones a la vez para restaurar tanto el área de preparación como el directorio de trabajo así: git restore --staged --worktree ..
Haz el curso como estaba pensado: progreso en pequeñas dosis, un orden lineal y sin distracciones, y entradas de Gitopedia que se desbloquean poco a poco. Continúa con Git real en VS Code/Cursor/Antigravity/Windsurf cuando quieras.
pero requiere iniciar sesión