WindowsMacSoftwareConfiguraciónSeguridadProductividadLinuxAndroidRendimientoConfiguraciónApple Todo

Cómo revertir cambios en Git

Editado 3 hace meses por ExtremeHow Equipo Editorial

GitReversiónRevertirWindowsMacLinuxLínea de comandosControl de FuenteControl de VersionesSolución de problemasDesarrollo

Cómo revertir cambios en Git

Traducción actualizada 3 hace meses

En el mundo de hoy, el desarrollo de software a menudo implica a varias personas trabajando juntas en el mismo código fuente. Para gestionar esta colaboración de manera efectiva, los desarrolladores utilizan sistemas de control de versiones como Git. Git es un sistema de control de versiones poderoso y ampliamente utilizado que ayuda a los desarrolladores a rastrear los cambios en su código, trabajar con otros y gestionar diferentes versiones de sus proyectos. Una de las tareas más importantes que los desarrolladores a menudo necesitan realizar es revertir cambios. Revertir cambios en Git es una forma de deshacer o invertir los cambios que se han hecho en el código en casos donde algo sale mal o cuando los cambios originales ya no son necesarios.

Entendiendo Git y su importancia

Antes de entrar en los detalles de cómo revertir cambios en Git, es importante entender qué es Git y por qué es importante. Git es un sistema de control de versiones distribuido y de código abierto creado por Linus Torvalds en 2005. Permite a múltiples desarrolladores trabajar en un proyecto simultáneamente sin sobrescribir el trabajo de los demás.

Git es importante porque registra cada cambio hecho en el código, proporcionando un historial completo del proyecto. Este historial es beneficioso porque permite a los desarrolladores mirar hacia atrás en estados anteriores del proyecto, entendiendo qué cambios se hicieron y quién los hizo. Si un cambio reciente introduce un error o fallo, el historial de Git hace posible identificar y revertir esos cambios.

Escenarios comunes para revertir cambios

En el desarrollo de software, hay varios escenarios donde puede ser necesario revertir cambios en Git:

Comandos clave para revertir cambios

Git proporciona varios comandos para revertir cambios en diferentes etapas del proceso de desarrollo. Echemos un vistazo a estos comandos y aprendamos cómo usarlos:

1. `git checkout`

El comando git checkout se puede usar para cambiar de ramas, pero también es útil para revertir cambios en tu directorio de trabajo. Si has hecho cambios en un archivo que quieres borrar, puedes usar el siguiente comando:

git checkout -- <file-name>

Este comando restaura el archivo especificado al último estado commitado. Esto es útil cuando los cambios no son deseados o si has hecho modificaciones temporales que necesitan ser removidas.

2. `git revert`

El comando git revert se usa para crear un nuevo commit que deshace los cambios hechos por un commit anterior. Este enfoque es más seguro que otros métodos porque no elimina el commit existente. En cambio, agrega un nuevo commit que revierte el commit especificado.

git revert <commit-hash>

Este comando es especialmente útil cuando los cambios han sido enviados a un repositorio compartido. Revertir un commit crea un nuevo commit con los cambios opuestos.

3. `git reset`

El comando git reset es versátil, permitiéndote revertir cambios al área de preparación y/o el directorio de trabajo. Aquí hay una descripción de su uso:

git reset <commit-hash>

Este comando mueve la rama actual al commit especificado. Por defecto, esto afecta el índice (área de preparación) y el head (donde actualmente apunta la rama), pero no el directorio de trabajo.

git reset HEAD <file-name>

Si has agregado archivos al área de preparación y quieres deshacerlo, usa este comando. Esto resetea el/los archivo(s) en el directorio de trabajo, removiéndolos del índice.

git reset --hard <commit-hash>

Este comando no solo resetea el head actual al commit especificado, sino que también actualiza el directorio de trabajo para que coincida con ese commit. Todos los cambios hechos después de este commit en el área de preparación y el directorio de trabajo se pierden. Usa este comando con precaución, ya que un reset completo no se puede revertir fácilmente.

4. `git clean`

El comando git clean se usa para eliminar archivos no rastreados del directorio de trabajo. Estos son archivos que han sido creados o cambiados pero que aún no han sido commitados.

git clean -f

Este comando eliminará cualquier archivo no rastreado. Si también quieres eliminar directorios, puedes usar:

git clean -fd

Ejemplos de revertir cambios

Ejemplo 1: Deshaciendo cambios locales en archivos

Supongamos que hiciste modificaciones a un archivo llamado example.txt y luego decides descartar estos cambios. Puedes deshacer tus cambios usando el siguiente comando:

git checkout -- example.txt

Este comando restaurará example.txt a su último estado commitado.

Ejemplo 2: Cancelando un commit

Si accidentalmente hiciste un commit y quieres deshacer sus efectos, puedes usar git revert. Supongamos que el hash del commit es abc1234:

git revert abc1234

Este comando creará un nuevo commit que revertirá los cambios hechos por el commit abc1234. Esto es especialmente útil cuando se trabaja con repositorios compartidos.

Ejemplo 3: Eliminando cambios

Si has preparado un archivo llamado data.csv y quieres deshacerlo, usa:

git reset HEAD data.csv

Este comando elimina data.csv del área de preparación, dejando tus cambios intactos en el directorio de trabajo.

Ejemplo 4: Realizando un reset completo a un commit previo

Para resetear tu rama actual al commit previo identificado por el hash def5678, y eliminar todos los cambios posteriores tanto del área de preparación como del directorio de trabajo, usa:

git reset --hard def5678

Importante: ten cuidado ya que este enfoque elimina permanentemente los cambios después del commit def5678.

Conclusión

Revertir cambios en Git es una habilidad vital para los desarrolladores. Ya sea que necesites deshacer un commit reciente, deshacer cambios o revertir modificaciones a tus archivos, Git tiene los comandos apropiados para manejar esta tarea. Con un entendimiento de comandos como git checkout, git revert, git reset, y git clean, se hace más fácil lidiar con errores y cambios no deseados.

Es importante usar estos comandos cuidadosamente, especialmente aquellos que cambian permanentemente tu directorio de trabajo o el historial de commits. Siempre considera si un simple deshacer o un proceso de reversión más complejo es necesario para tu escenario.

A medida que te familiarices más con Git, encontrarás que sus habilidades para gestionar versiones y colaborar eficientemente son herramientas indispensables en el desarrollo de software. Revertir cambios es solo una de las muchas capacidades que hacen de Git una parte indispensable del conjunto de herramientas del desarrollador.

Si encuentras algo incorrecto en el contenido del artículo, puedes


Comentarios