Skip to main content

Realizar una copia de seguridad de un repositorio

Puede usar Git , una herramienta de terceros, o la API para realizar una copia de seguridad del repositorio.

Es posible que desee realizar copias de seguridad de repositorios con fines de archivado o medidas de recuperación ante desastres.

Dependiendo de las características de GitHub que use y sus requisitos (por ejemplo, si necesita poder restaurar la copia de seguridad), hay diferentes opciones de copias de seguridad que incluyen datos diferentes.

Es posible que quiera almacenar las copias de seguridad en un disco duro externo o cargarlas en un servicio de almacenamiento o copia de seguridad basado en la nube, como Azure Blob Storage, Google Drive o Dropbox.

Hacer una copia de seguridad de un repositorio de Git con la CLI de Git

Un repositorio de Git comprende todos los archivos y carpetas asociados con un proyecto, en conjunto con el historial de revisión de cada archivo. Para obtener más información, vea «Acerca de Git».

Puede realizar una copia de seguridad de un repositorio de Git, incluido el historial de revisiones, realizando un clon reflejado con la CLI de Git.

Para realizar un clon reflejado, use el comando git clone con la opción --mirror.

git clone --mirror https://github.com/EXAMPLE-USER/REPOSITORY.git

Si el repositorio incluye objetos Almacenamiento de archivos de gran tamaño de Git, extraiga los objetos. Para obtener más detalles sobre Almacenamiento de archivos de gran tamaño de Git y cómo instalarlo, véase "Acerca de Large File Storage de Git".

git lfs fetch --all

Una vez que haya clonado el repositorio de Git, puede comprimirlo en un archivo (por ejemplo, un archivo .zip o .tar.gz) y moverlo a una ubicación para mantenerlo seguro.

Puede restaurar la copia de seguridad descomprimiendo el archivo y, a continuación, insertando el repositorio de Git en un Git remoto.

Hacer copia de seguridad de una wiki con la CLI de Git

Las wikis en GitHub se almacenan como repositorios de Git. Esto significa que puede realizar una copia de seguridad de una wiki mediante la clonación. Para obtener más detalles sobre cómo clonar una wiki mediante Git, véase "Agregar o eliminar páginas wiki".

Una vez que haya clonado la wiki, puede comprimirla en un archivo (por ejemplo, un archivo .zip o .tar.gz) y moverla a una ubicación para mantenerla segura.

Puede restaurar la copia de seguridad descomprimiendo el archivo y, a continuación, insertando el repositorio de wiki en un Git remoto.

Hacer copia de seguridad de un repositorio de Git y metadatos seleccionados con archivos de migración

Puede usar la API de REST para generar un archivo de migración para un repositorio. Para obtener más información, vea «Puntos de conexión de la API de REST para migraciones de la organización».

Estos archivos están diseñados para mover datos entre productos GitHub, pero también se pueden usar para realizar copias de seguridad de un repositorio con fines de archivado

Advertencia: Los archivos de migración no incluyen todos los datos relacionados con un repositorio. Por ejemplo, no se incluyen objetos, discusiones o paquetes de datos Almacenamiento de archivos de gran tamaño de Git. Para obtener más información sobre lo que se incluye en los archivos de migración, véase "Acerca de las migraciones entre productos de GitHub".

Una vez que haya generado un archivo, puede moverlo a una ubicación de su elección para mantenerse seguro.

No hay ninguna manera compatible documentada de restaurar los archivos de migración en GitHub, por lo que estas copias de seguridad solo son adecuadas para fines de archivado.

Herramientas de copias de seguridad de terceros

Existe un número de herramientas de autoservicio que automatizan las copias de seguridad de los repositorios. Las herramientas de copia de seguridad descargarán datos de repositorios específicos y los organizarán dentro de una nueva rama o directorio.

Para obtener más información sobre las herramientas de copia de seguridad de autoservicio, consulta la categoría Utilidades de copia de seguridad en GitHub Marketplace.