{"id":90368,"date":"2022-08-12T11:26:59","date_gmt":"2022-08-12T11:26:59","guid":{"rendered":"https:\/\/magazineoffice.com\/como-revertir-archivos-y-carpetas-individuales-a-versiones-anteriores-en-git\/"},"modified":"2022-08-12T11:27:00","modified_gmt":"2022-08-12T11:27:00","slug":"como-revertir-archivos-y-carpetas-individuales-a-versiones-anteriores-en-git","status":"publish","type":"post","link":"https:\/\/magazineoffice.com\/como-revertir-archivos-y-carpetas-individuales-a-versiones-anteriores-en-git\/","title":{"rendered":"C\u00f3mo revertir archivos y carpetas individuales a versiones anteriores en Git"},"content":{"rendered":"


\n<\/p>\n

\n

Git es una herramienta poderosa para rastrear cada versi\u00f3n de su base de c\u00f3digo y, a menudo, es necesario mirar hacia atr\u00e1s en el tiempo y recuperar versiones antiguas de archivos. Git puede revertir confirmaciones completas o restablecer todo el repositorio, pero tambi\u00e9n puede revertir cambios en un solo archivo o carpeta.<\/p>\n

Revertir vs Restablecer<\/h2>\n

Por lo general, cuando \u00abreviertes\u00bb una confirmaci\u00f3n, Git aplica una nueva confirmaci\u00f3n aplicando los cambios opuestos, cancel\u00e1ndola efectivamente. Esto es \u00fatil si comete un error y necesita \u00abeliminar\u00bb esa confirmaci\u00f3n, aunque todav\u00eda est\u00e1 registrada en el historial.<\/p>\n

Restablecer el repositorio es un poco diferente. Solo puede revertir una confirmaci\u00f3n a la vez, pero si hace una git reset<\/code>, Git cambiar\u00e1 por completo el estado del repositorio a cuando se realiz\u00f3 la confirmaci\u00f3n. Esto se hace por muchas razones, generalmente para eliminar confirmaciones o corregir el historial de sucursales.<\/p>\n

Ambas operaciones funcionan en todo el repositorio, pero tambi\u00e9n puede usar comandos similares para realizar las mismas acciones en archivos o carpetas individuales. Por ejemplo, usando git reset<\/code> en un solo archivo volver\u00e1 a establecer ese archivo como estaba cuando se realiz\u00f3 la confirmaci\u00f3n. Esto es \u00fatil si solo desea seleccionar una versi\u00f3n anterior del archivo de su historial de Git.<\/p>\n

RELACIONADO:<\/strong> \u00bfC\u00f3mo funciona realmente el restablecimiento de Git? Restablecimientos suaves, duros y mixtos explicados<\/em><\/strong><\/p>\n

RELACIONADO:<\/strong> C\u00f3mo corregir, editar o deshacer confirmaciones de Git (cambio del historial de Git)<\/em><\/strong><\/p>\n

Mirando versiones antiguas en Git<\/h2>\n

La soluci\u00f3n de baja tecnolog\u00eda para volver a configurar un archivo como sol\u00eda ser es bastante simple: Github y la mayor\u00eda de los otros servidores Git realizan un seguimiento de su historial de archivos, y puede simplemente hacer clic en un compromiso y hacer clic en \u00abExaminar archivos\u00bb para ver un instant\u00e1nea de su repositorio desde atr\u00e1s en el tiempo. A continuaci\u00f3n, puede descargar el archivo o copiar el texto.<\/p>\n

\"\"<\/p>\n

Esto es especialmente \u00fatil si est\u00e1 trabajando con archivos de c\u00f3digo grandes y desea ver versiones anteriores de funciones que escribi\u00f3. Probablemente no desee revertir todo en ese caso, solo la funci\u00f3n \u00fanica. Puede copiar el c\u00f3digo de esa funci\u00f3n sin tocar la CLI de Git.<\/p>\n

Restablecer un archivo a una versi\u00f3n anterior en Git<\/h2>\n

En este repositorio de prueba, hicimos una confirmaci\u00f3n que edit\u00f3 el README y agreg\u00f3 un nuevo archivo. Queremos revertir los cambios realizados en el L\u00c9AME, pero no queremos restablecer todo el repositorio a la confirmaci\u00f3n inicial.<\/p>\n

\"\"<\/p>\n

La soluci\u00f3n es restablecer solo el L\u00c9AME revisando una versi\u00f3n anterior de ese archivo. de Git checkout<\/code> El comando hace muchas cosas, como cambiar de rama, pero b\u00e1sicamente se usa para descargar archivos con un ID de confirmaci\u00f3n o rama.<\/p>\n

Para restablecer un archivo a una versi\u00f3n anterior, deber\u00e1 encontrar el ID de compromiso desde el que desea restablecerlo. Puedes usar git log<\/code> para esto, alcance un solo archivo para ver solo los cambios realizados en ese archivo:<\/p>\n

git log README.md<\/pre>\n

\"\"<\/p>\n

Copie el ID para la confirmaci\u00f3n y luego ejecute git checkout<\/code> con el ID y la ruta del archivo:<\/p>\n

git checkout\u00a022710694b25d7ce5297559851beb7d3e4de811bb README.md<\/pre>\n

Esto volver\u00e1 a cambiar el archivo, pero no confirmar\u00e1 los cambios todav\u00eda. Eres libre de editarlo y confirmarlo cuando est\u00e9s listo.<\/p>\n

\"\"<\/p>\n

En este ejemplo, git checkout<\/code> organiz\u00f3 los cambios para la pr\u00f3xima confirmaci\u00f3n. Si no desea confirmarlos, puede descartar los cambios. Esto puede ser \u00fatil para descargar versiones antiguas de archivos temporalmente sin el uso de Github.<\/p>\n

Reversi\u00f3n de cambios a archivos individuales<\/h2>\n

Del mismo modo, si desea revertir los cambios en una sola confirmaci\u00f3n, puede hacerlo con git revert<\/code>. Sin embargo, no hay forma de aplicarlo a un solo archivo, pero simplemente puede descartar los cambios si la confirmaci\u00f3n afecta a otros archivos.<\/p>\n

Utilizar el --no-commit<\/code> marca para permitir la edici\u00f3n de la \u00abreversi\u00f3n de confirmaci\u00f3n\u00bb que Git crea autom\u00e1ticamente.<\/p>\n

git revert de8564b131ca6a15a7e7c73f5ef156b119cc0b93<\/pre>\n

Esto le permitir\u00e1 cambiar los archivos antes de finalizar la reversi\u00f3n. Si hay cambios no deseados preparados, puede eliminarlos a trav\u00e9s de su cliente o con un formulario vac\u00edo git checkout<\/code>.<\/p>\n

git checkout -- file<\/pre>\n

\"\"<\/p>\n<\/div>\n