git revert
git
Uso
git revert [-n] <commit>Deshace un commit añadiendo otro commit contrario; no borra la historia, a diferencia de reset que mueve el puntero, así que lo ya publicado se deshace con revert.
Opciones habituales
| Opción | Significado |
|---|---|
| -n | stage the inverse change without committing |
| -m <parent> | which side to keep when reverting a merge commit |
| --no-edit | accept the generated message |
| --continue | finish after resolving conflicts |
| --abort | cancel and go back |
Ejemplos
git revert a1b2c3dadds a new commit that undoes that one
git revert --no-edit HEADundoes the last commit without opening an editor
git revert -m 1 <merge-commit>undoes a merge, keeping the first parent
Lo confuso es que deshacer tiene varias formas: mover a dónde apunta una rama no es lo mismo que añadir un commit que la revierte.
Cómo leerlo
- Los corchetes [ ] marcan una parte que puedes omitir.
- Los puntos suspensivos … indican que puedes poner varios.
- Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.
Preguntas
Q. ¿Qué hace git revert?
Deshace un commit añadiendo otro commit contrario; no borra la historia, a diferencia de reset que mueve el puntero, así que lo ya publicado se deshace con revert.
Q. ¿Cómo se escribe?
git revert [-n] <commit> — los corchetes marcan lo que puedes omitir.
Q. ¿Cuántas opciones vale la pena saber?
Aquí van 5; la lista completa está en man git. Este comando está en git.
Comandos relacionados
página man: man git-revert