git revert
git revert: revierte los cambios de un commit concreto.
git revert crea un commit nuevo que invierte los cambios hechos por el commit indicado. En la práctica, anula sus efectos sin alterar el historial de commits.
El objetivo de git revert es ofrecer una forma limpia y segura de deshacer cambios en un repositorio sin reescribir su historial. Esto resulta especialmente útil en entornos colaborativos, donde reescribir el historial (por ejemplo, con git reset) puede provocar confusión y conflictos a otras personas que trabajan en el mismo proyecto.
Cuando usas git revert, Git crea un commit nuevo que contiene la versión inversa de los cambios hechos en el commit original. Ese commit nuevo se añade al historial del repositorio y deja constancia clara tanto de los cambios originales como de su reversión.
git revert es especialmente útil cuando necesitas deshacer un cambio concreto introducido en un commit anterior sin afectar a ninguno de los commits posteriores. Te permite quitar con precisión un cambio problemático y mantener intacto el historial de commits.
Ejemplos
Imagina que tienes un historial de commits como este:
a1b2c3d (HEAD -> main) Update README
b2c3d4e Fix typo in main code
c3d4e5f Add new feature
2a291cc Initial commitSi quieres revertir los cambios del commit Fix typo in main code (b2c3d4e), puedes usar git revert:
git revert b2c3d4eEsto abrirá tu editor de texto predeterminado y te pedirá que escribas un mensaje para el commit de reversión. Después de guardar y cerrar el editor, Git creará un commit nuevo que revierte los cambios hechos en b2c3d4e:
f4b5a62 (HEAD -> main) Revert "Fix typo in main code"
a1b2c3d Update README
b2c3d4e Fix typo in main code
c3d4e5f Add new feature
2a291cc Initial commitAhora, los efectos del commit Fix typo in main code se han deshecho, pero el commit en sí sigue formando parte del historial, y se ha creado un commit nuevo para registrar la reversión de sus cambios.
.gitignoregit checkoutgit configgit taggit worktree