Hogar Estudio Cómo revertir archivos y carpetas individuales en Git

Cómo revertir archivos y carpetas individuales en Git

por Frank
Cómo revertir archivos y carpetas individuales en Git

Introducción

Git es una excelente herramienta para mantener cada versión de su base de código y, a veces, es necesario retroceder en el tiempo y restaurar versiones anteriores de archivos. Git puede revertir los cambios en un solo archivo o carpeta, así como retractarse de confirmaciones completas o restablecer todo el repositorio.

Elegir entre revertir y restablecer

Cuando "revierte" una confirmación, Git generalmente aplica una nueva confirmación con las modificaciones opuestas, esencialmente cancelándola. Esto es útil si comete un error y necesita "eliminar" una confirmación, incluso si permanece en el historial.

El procedimiento para restablecer el repositorio es algo diferente. Solo puede retractarse de una confirmación a la vez, pero si ejecuta un restablecimiento de git, Git restablecerá por completo el repositorio al momento en que se creó esa confirmación. Esto se hace por una variedad de razones, las más comunes son para borrar confirmaciones o corregir el historial de sucursales.

Ambos procedimientos afectan a todo el repositorio, pero se pueden usar comandos idénticos para lograr los mismos efectos en archivos o carpetas individuales. Por ejemplo, ejecutar git reset en un solo el archivo lo restauraría al estado en el que se encontraba cuando se creó la confirmación. Esto es beneficioso si solo desea elegir una versión anterior del archivo de su historial de Git.

Examen de versiones antiguas de Git

El enfoque de baja tecnología para restaurar un archivo a su estado original es bastante simple: Github y la mayoría de los otros servidores Git mantienen un registro de su historial de archivos, y simplemente puede hacer clic en una confirmación y elegir "Examinar archivos" para ver una instantánea de su depósito del pasado. Entonces puede descargar el archivo o copiar el texto.

Esto es particularmente útil si está trabajando con una gran cantidad de archivos de código y desea comparar versiones anteriores de las rutinas que ha escrito. En ese escenario, probablemente no desee revertir todo, solo una función. Sin tocar la CLI de Git, puede copiar el código de esa función.

Revertir un archivo Git a una versión anterior

Hicimos una confirmación en este repositorio de prueba que cambió el LÉAME y agregó un nuevo archivo. Queremos deshacer las modificaciones de README, pero no queremos restaurar todo el repositorio a la primera confirmación.

La respuesta es restablecer solo el LÉAME descargando una versión anterior de ese archivo. El comando de pago de Git puede lograr una variedad de cosas, como cambiar de sucursal, aunque a menudo se usa para descargar datos en función de una confirmación o ID de sucursal.

Para restaurar un archivo a una versión anterior, busque el ID de confirmación desde el momento en que desea restaurarlo. Puede usar git log con un solo archivo en el ámbito para ver solo los cambios realizados en ese archivo:

registro git README.md

Copie la ID de confirmación, luego ejecute git checkout con la ID y la ruta del archivo:

git pago 22710694b25d7ce5297559851beb7d3e4de811bb README.md

Esto volverá a alterar el archivo, pero aún no confirmará los cambios. Eres libre de hacer cambios y comprometerte cuando estés listo.

En este caso, git checkout marcó las modificaciones como listas para la próxima confirmación. Si no desea realizar las modificaciones, puede hacerlo. Esto podría ser útil para descargar temporalmente versiones anteriores de archivos sin usar Github.

Reversión de cambios a archivos individuales

De manera similar, puede usar git revert para deshacer las modificaciones realizadas en una sola confirmación. No hay forma de aplicarlo a un solo archivo, sin embargo, si la confirmación afecta a otros archivos, simplemente rechace las modificaciones.

Use el interruptor —no-commit para habilitar la modificación de la "reversión de confirmación" que Git genera automáticamente.

git revertir de8564b131ca6a15a7e7c73f5ef156b119cc0b93

Esto le permite realizar cambios en los archivos antes de completar la reversión. Si hay cambios no deseados que se han realizado, puede borrarlos usando su cliente o un git checkout vacío.

git checkout -- archivo

También te puede interesar