Revertir cambios locales al estado anterior en Git
Supongamos que a Mario
se le asignó una tarea y estaba a punto de completarla, pero, por desgracia, el cliente cambió su requisito y le pidió a Mario
que dejara de trabajar en la tarea previamente asignada, entonces, ¿cuál sería la solución perfecta para este dilema?
En este artículo, aprenderá cómo revisar los cambios locales al estado anterior en Git.
Revertir cambios locales no preparados en Git
Si no ha utilizado el comando git add
, que generalmente empuja el archivo al escenario, puede navegar fácilmente al estado anterior siguiendo los pasos a continuación.
-
Confirmar el estado de los archivos con
git status
.$ git status On branch dev Your branch is up to date with 'origin/dev'. 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: frontend/src/index.tsx modified: frontend/src/common/components/index.tsx modified: frontend/src/common/components/index.css
-
Con el estado conocido, puede usar cualquiera de las siguientes opciones según sus preferencias.
- Sobrescribir cambios locales
git checkout -- <file>
- Guarde los cambios locales para poder usarlos más adelante en el proyecto,
git stash
- Descartar todos los cambios realizados en los archivos
git reset --hard
Revertir cambios locales preparados en Git
Si ha agregado los archivos usando el comando git add
, podemos revertirlo al estado anterior siguiendo los pasos a continuación.
-
Use
git status
para confirmar la disponibilidad del archivo agregado. -
Ahora que ha visto los archivos preparados, puede elegir el archivo que desea revertir y usar el siguiente comando según la situación.
- Mantenga los cambios en el archivo pero sin dejarlo en escena.
git restore --staged <file_name_with.path>
- Retire todos los archivos manteniendo los cambios,
git reset
- Deseche todos los cambios y guárdelos para su uso posterior.
git stash
Nota: Use
git stash pop
para deshacer el efecto degit stash
y usegit stash list
para listar los alijos disponibles.- Desecha todo
git reset --hard