Revertir cambios locales al estado anterior en Git

Ashok Chapagai 12 abril 2022
  1. Revertir cambios locales no preparados en Git
  2. Revertir cambios locales preparados en Git
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.
    1. Mantenga los cambios en el archivo pero sin dejarlo en escena.
    git restore --staged <file_name_with.path>
    
    1. Retire todos los archivos manteniendo los cambios,
    git reset
    
    1. Deseche todos los cambios y guárdelos para su uso posterior.
    git stash
    

    Nota: Use git stash pop para deshacer el efecto de git stash y use git stash list para listar los alijos disponibles.

    1. Desecha todo
    git reset --hard
    
Ashok Chapagai avatar Ashok Chapagai avatar

Ashok is an avid learner and senior software engineer with a keen interest in cyber security. He loves articulating his experience with words to wider audience.

LinkedIn GitHub

Artículo relacionado - Git Revert