Como software para el control de versiones, Git hace que sea predeciblemente fácil revertir los cambios. Pero incluso el concepto de deshacer un cambio es más complicado de lo que podría pensar al principio. Un repositorio de Git no es exactamente lo mismo que el conjunto de archivos en los que está trabajando localmente. Deshacer cambios significa considerar exactamente dónde desea deshacerlos.
gitverificar, git restablecer, y gitrestaurar son comandos que pueden ayudarlo a volver a una versión anterior no solo de su código base, sino también de archivos individuales. Conozca los detalles de estos comandos y comenzará a recorrer su historial de archivos como un experto en poco tiempo.
¿Qué significa restablecer un archivo, de todos modos?
Es importante tener en cuenta que restablecer un archivo puede significar diferentes cosas para diferentes personas en diferentes circunstancias. También el git restablecer Es posible que el comando no coincida con sus expectativas sobre lo que significa restablecer.
A veces, querrá deshacer los cambios locales para que un archivo vuelva a estar sincronizado con el repositorio actual. En otras ocasiones, es posible que desee revertir los cambios que ya ha enviado al repositorio.
Los siguientes términos son clave para comprender la diferencia: árbol de trabajo, área de preparación y repositorio. Los archivos que edita localmente pertenecen al árbol de trabajo. Los archivos que confirma finalmente terminan en el repositorio. Cuando estás en el proceso de recopilar cambios, preparas archivos. Un archivo puede tener diferentes contenidos en cada una de estas ubicaciones.
Ver también: Tutorial avanzado de Git
Puede pensar en restablecer un archivo como deshacer cambios. Pero el estado de su archivo determinará qué cambios está deshaciendo realmente. El caso obvio es cuando realiza algunos cambios, los confirma y luego decide que ya no los quiere.
Otro caso podría ser que organizó un archivo y ahora desea eliminarlo.
¿Cómo deshago un archivo confirmado anteriormente?
Tratemos un caso que es más fácil de entender: comprometió un archivo y ahora desea revertir los cambios en él.
El comando de Git para hacer esto se llama, algo poco intuitivo, verificar. Es posible que hayas usado verificar antes de cambiar de rama, pero eso es una pequeña parte de lo que puede hacer el comando. También le permite actualizar archivos en su árbol de trabajo para que coincidan con los de cualquier punto del historial del repositorio. Puede hacer esto para una etiqueta, rama o incluso una confirmación en particular.
La forma de propósito general más útil de este comando es:
git checkout [ID de confirmación] - ruta / a / archivo
Aquí, estamos pasando por un camino específico (ruta / a / archivo) que identifica un solo archivo. También estamos especificando un ID de confirmación para obtener el archivo tal como existía en esa confirmación específica. Este comando actualizará el archivo solo en nuestro árbol de trabajo.
Tenga en cuenta que la comprobación de una versión anterior del archivo modifica la copia de trabajo, sin comprometerla ni siquiera prepararla. Para completar completamente la operación de deshacer en el repositorio, deberá preparar el archivo y crear una nueva confirmación.
Ver también: Cómo inspeccionar el historial de un proyecto con git log
¿Cómo cambio lo que estoy organizando?
El otro tipo de deshacer involucra su área de preparación. Contiene los cambios que confirmará junto al repositorio. Si ha preparado una versión de un archivo y luego decide que no quiere incluirlo en la próxima confirmación, primero querrá quitarlo de la etapa.
Puedes usar el git restablecer comando para quitar la etapa de un archivo en etapas:
git restablecer la ruta HEAD / a / archivo
¿Puedo deshacer rápidamente los cambios locales?
Sí, puede deshacer los cambios en un archivo local antes de que se procese. Utilice el siguiente comando:
git checkout - ruta / a / archivo
Tenga en cuenta que esto es similar a revertir un cambio de repositorio, simplemente omite el ID de confirmación. Una vez que ejecute este comando, Git deshará cualquier cambio en su copia de trabajo.
¿Qué pasa con git restore?
Las versiones posteriores de Git tienen un comando más nuevo: restaurar. Para los casos simples que hemos discutido aquí, puede usar los siguientes equivalentes. Para deshacer un cambio en el repositorio:
git restore --source [ID de confirmación] ruta / a / archivo
Para quitar la etapa de un archivo, utilice:
git restore - ruta por etapas / a / archivo
Y para deshacer los cambios de la copia de trabajo:
git restaurar ruta / a / archivo
Dominar el poder de control de versiones de Git es invaluable
Aunque restablecer un archivo puede parecer algo común, encontrará que en la práctica ocurre muy raramente. Es más probable que revierta confirmaciones completas en lugar de archivos individuales. Sin embargo, en las ocasiones en que necesita hacerlo, Git al menos lo hace bastante sencillo.
Utilice estos comandos de Git para realizar operaciones como eliminar un archivo de una confirmación.
Leer siguiente
- Programación
- GitHub
- Desarrollo web
- Programación
Bobby es un entusiasta de la tecnología que trabajó como desarrollador de software durante la mayor parte de dos décadas. Es un apasionado de los juegos, trabaja como editor en jefe en Switch Player Magazine y está inmerso en todos los aspectos de la publicación en línea y el desarrollo web.
Suscríbete a nuestro boletín
¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!
Haga clic aquí para suscribirse