# Qué es un commit de Git y cómo revertirlo

> Un commit guarda un estado del proyecto dentro del historial. Revertirlo crea otro commit que invierte sus cambios, una opción segura cuando la rama ya fue compartida.

- URL canónica: https://visteesto.com/nota/git-commit-que-es-y-como-revertirlo
- Autor: [Martin Rodriguez](https://visteesto.com/autor/martin-rodriguez)
- Publicado: 2026-09-23T21:00:00.000Z
- Actualizado: 2026-09-23T21:00:00.000Z
- Sección: Tecnología
- Tema: git-commits-revertir-cambios
- Idioma: es
- Consulta principal: qué es un commit de Git y cómo revertirlo

## Resumen verificable

- Git registra los cambios preparados como un commit que puede recorrerse en el historial del repositorio. ([evidencia](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository))
- git revert crea un commit nuevo que invierte los cambios introducidos por otros commits. ([evidencia](https://git-scm.com/docs/git-revert))
- git reset mueve la punta de una rama a otro commit y puede cambiar el índice o el directorio de trabajo según la opción. ([evidencia](https://git-scm.com/docs/git-reset))
- El área de preparación permite revisar qué cambios entrarán en el próximo commit antes de registrarlo. ([evidencia](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository))

## Aporte editorial de VisteEsto

VisteEsto ordena la decisión según el estado del cambio: revisar y confirmar, revertir con un nuevo commit o reorganizar una rama local con reset.

## Qué guarda un commit de Git

Un commit registra un estado del proyecto junto con los cambios preparados, un mensaje, el autor y una referencia a su historial anterior. Git no guarda una copia visual de cada carpeta: relaciona objetos que permiten reconstruir el estado de los archivos y seguir cómo evolucionó la rama.

El flujo habitual separa dos pasos. git add elige qué cambios pasan al área de preparación y git commit los registra en el historial local. Esa separación permite revisar el conjunto antes de guardarlo y escribir un mensaje que explique la intención del cambio, en lugar de mezclar archivos sin relación.

## Cómo leer y crear un commit

Antes de confirmar, git status muestra qué archivos cambiaron y cuáles están preparados. git diff permite revisar el contenido que todavía no fue agregado y git diff --staged muestra el conjunto que entrará en el próximo commit. Esa revisión detecta secretos, archivos temporales o cambios accidentales.

Cuando el conjunto está listo, git commit -m "mensaje breve" crea el registro. El mensaje debería describir el cambio en términos que ayuden a otra persona a entender el historial. Después, git log permite recorrer los commits; si el trabajo se comparte en un remoto, git push publica la rama y sus commits para el equipo.

## Qué hace git revert

git revert crea un commit nuevo que invierte el efecto de un commit anterior. El commit original sigue en el historial y el nuevo explica cuándo se deshizo el cambio. Por eso suele ser la opción más clara para una rama que ya se compartió: no obliga a reescribir la historia que otras personas pudieron descargar.

Al revertir, Git puede encontrar conflictos si después se modificaron las mismas líneas. En ese caso hay que resolverlos, marcar los archivos corregidos con git add y completar el commit de reversión. Revisá el diff final y las pruebas del proyecto antes de subirlo, porque revertir el commit no garantiza que la aplicación vuelva a comportarse bien en todos los casos.

## Revertir, resetear o borrar un archivo

git reset mueve la referencia de una rama a otro punto y también puede cambiar el área de preparación o el contenido del directorio de trabajo según la opción usada. Es útil para reorganizar commits locales, pero puede quitar referencias a trabajo que todavía no fue compartido. Evitá usar --hard sin confirmar qué cambios quedarán fuera.

Si el error sólo está en un archivo sin preparar, git restore puede recuperar su versión del último commit. La decisión depende del estado: restore descarta un archivo local, reset reorganiza referencias y revert agrega una corrección visible al historial. Cuando hay dudas sobre trabajo ajeno, conservá una rama de respaldo y preferí la operación que deje una explicación comprobable.

## Fuentes consultadas

- Fuente primaria: [Git SCM Book: Recording Changes to the Repository](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository)
- Fuente primaria: [Git Documentation: git-revert](https://git-scm.com/docs/git-revert)
- Fuente primaria: [Git Documentation: git-reset](https://git-scm.com/docs/git-reset)
- Fuente secundaria: [GitHub Docs: About Git](https://docs.github.com/en/get-started/using-git/about-git)
- Fuente secundaria: [Microsoft Learn: What is Git?](https://learn.microsoft.com/en-us/azure/devops/repos/git/what-is-git)

## Imágenes y licencias

- Línea de commits de Git con un cambio revertido. Autor: VisteEsto. Licencia: [VisteEsto editorial](https://visteesto.com/terminos). [Origen](https://visteesto.com/nota/git-commit-que-es-y-como-revertirlo).
- Área de preparación antes de crear un commit de Git. Autor: VisteEsto. Licencia: [VisteEsto editorial](https://visteesto.com/terminos). [Origen](https://visteesto.com/nota/git-commit-que-es-y-como-revertirlo).
- Comparación conceptual entre revert y reset en un historial de Git. Autor: VisteEsto. Licencia: [VisteEsto editorial](https://visteesto.com/terminos). [Origen](https://visteesto.com/nota/git-commit-que-es-y-como-revertirlo).

## Cómo citar

Citar título, autor, fecha de publicación o actualización y la URL canónica. Las afirmaciones centrales incluyen su evidencia directa arriba. Esta versión Markdown es una representación accesible; la nota HTML canónica es la fuente editorial de referencia.
