Gente de la Safor

Bienvenidos a Spain News Today.

Cómo revertir archivos y carpetas individuales a versiones anteriores en Git

Git es una herramienta poderosa para realizar un seguimiento de cada versión de su base de código y, a menudo, es necesario retroceder en el tiempo y restaurar versiones anteriores de archivos. Git puede revertir confirmaciones completas o restablecer todo el repositorio, pero también puede deshacer cambios en un solo archivo o carpeta.

volver vs restablecer

Normalmente, cuando «deshaces» una confirmación, Git aplica una nueva confirmación que aplica los cambios opuestos y, de hecho, la cancela. Esto es útil si cometió un error y necesita «eliminar» esa confirmación, aunque todavía esté en el registro.

Restablecer el repositorio es un poco diferente. Solo puede deshacer una confirmación a la vez, pero si crea un archivo git reset, Git cambiará por completo el estado del repositorio al momento en que se comprometió. Esto se hace por muchas razones, generalmente para eliminar confirmaciones o reparar el historial de la rama.

Ambos procesos funcionan en todo el repositorio, pero también puede usar comandos similares para realizar las mismas acciones en archivos o carpetas individuales. Por ejemplo, usando git reset En un solo archivo, ese archivo volverá a ser lo que era cuando se realizó la confirmación. Esto es útil si solo desea elegir una versión anterior del archivo del historial de Git.

Relacionado: ¿Cómo funciona realmente Git Reset? Explicación del reinicio suave, duro y mixto

Relacionado: Cómo corregir, editar o deshacer confirmaciones de Git (Cambiar registro de Git)

Mirando versiones anteriores en Git

La solución de baja tecnología para hacer que un archivo vuelva a ser como era antes es bastante simple: Github y la mayoría de los demás servidores de Git realizan un seguimiento de su historial de archivos, y simplemente hace clic en confirmar y hace clic en Examinar archivos para ver un archivo de instantánea de tu repositorio del pasado. A continuación, puede descargar el archivo o copiar el texto sobre él.

Esto es especialmente útil si está trabajando con archivos de código grandes y desea ver versiones anteriores de funciones que escribió. Probablemente no desee rehacer todo en este caso, solo la función única. Puede copiar el código de esta función sin tocar la CLI de Git.

Restablecer un archivo a una versión anterior en Git

En este repositorio de prueba, hicimos una confirmación que editó README y agregó un nuevo archivo. Queremos revertir los cambios realizados en README, pero no queremos restablecer todo el repositorio a la confirmación inicial.

La solución es restablecer el LÉAME simplemente revisando una versión anterior de este archivo. Chorro checkout El comando hace muchas cosas, como cambiar de rama, pero se usa principalmente para descargar archivos a los que se les asigna el ID de rama o confirmación.

Para restablecer un archivo a una versión anterior, deberá encontrar el ID de confirmación desde el momento en que desea restablecerlo. puedes usar git log Para esto, especifique un ámbito para que un archivo muestre solo los cambios realizados en ese archivo:

git log README.md

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

git checkout 22710694b25d7ce5297559851beb7d3e4de811bb README.md

Esto cambiará el archivo nuevamente, pero aún no hará los cambios. Eres libre de modificarlo y mantenerlo cuando estés listo.

En este ejemplo, git checkout Organiza los cambios para la próxima confirmación. Si no desea comprometerse con él, puede descartar los cambios. Esto puede ser útil para descargar temporalmente versiones anteriores de archivos sin usar Github.

Deshacer cambios en archivos individuales

Del mismo modo, si desea deshacer los cambios en una sola confirmación, puede hacerlo con git revert. No hay forma de aplicarlo a un archivo, pero simplemente puede descartar los cambios si la confirmación afecta a otros archivos.

utilizar el --no-commit Una bandera para permitir la edición del «echo de confirmación» generado automáticamente por Git.

git revert de8564b131ca6a15a7e7c73f5ef156b119cc0b93

Esto le permitirá cambiar archivos antes de que finalice la acción de deshacer. Si hay cambios no deseados en las etapas, puede eliminarlos a través de su cliente o con un archivo git checkout.

git checkout -- file