Git Revert

1 min

Tabla de contenidos

  1. ¿Qué es revert?
  2. Revert frente a reset
  3. Práctica inmediata
  4. Casos de uso

1. ¿Qué es revert?

Git revert = anular UN commit creando un commit NUEVO inverso.

Concepto clave:

  • NO borra el historial
  • Crea un commit que "deshace" los cambios
  • Seguro para el trabajo en equipo

Analogía: es como decir en público "ups, retiro lo que dije".

Volver a la tabla de contenidos

2. Revert frente a reset

Aspectogit revertgit reset
HistorialConservadoModificado/eliminado
SeguridadSeguro en equipoPeligroso si está compartido
MétodoCommit nuevo inversoRetrocede en el tiempo
TrazabilidadSe ve que se ha anuladoComo si nunca hubiera existido

Regla simple:

  • Commit ya compartido → revert
  • Commit todavía local → reset

Volver a la tabla de contenidos

3. Práctica inmediata

bash
mkdir demo-revert && cd demo-revert
git init

echo "print('Version 1')" > app.py
git add . && git commit -m "Version 1"

echo "print('Version 2 - Bug!')" > app.py
git add . && git commit -m "Version 2 avec bug"

echo "print('Version 3')" > app.py  
git add . && git commit -m "Version 3"

# ¡Ups! La versión 2 tenía un bug
git log --oneline              # Ver el historial
git revert <hash-version-2>    # Anular SOLO la versión 2

# Resultado: la versión 3 se queda, pero el bug de v2 queda anulado
cat app.py                     # Comprobar el contenido

Volver a la tabla de contenidos

4. Casos de uso

Situaciones típicas:

  1. Bug en producción:

    bash
    git revert <commit-buggy>    # Anulación limpia
    git push origin main         # Arreglo inmediato
  2. La feature da problemas:

    bash
    git revert <commit-feature>  # Retirar la feature
    # Conservar el historial para más adelante
  3. Anular varios commits:

    bash
    git revert <commit1> <commit2> <commit3>
    # O de una sola vez:
    git revert <oldest-commit>..<newest-commit>

Revert = tu red de seguridad cuando todo va mal.

Volver a la tabla de contenidos