Para poder insertar el repositorio original en la nueva copia, o reflejo, del repositorio, debe crear el repositorio en tu instancia de GitHub Enterprise Server. En estos ejemplos, exampleuser/new-repository
o exampleuser/mirrored
son los reflejos.
Generar un espejo de un repositorio
-
Abra TerminalTerminalGit Bash.
-
Crea un clon desnudo del repositorio.
git clone --bare https://HOSTNAME/EXAMPLE-USER/OLD-REPOSITORY.git
-
Sube en espejo al nuevo repositorio.
cd OLD-REPOSITORY git push --mirror https://HOSTNAME/EXAMPLE-USER/NEW-REPOSITORY.git
-
Eliminar el repositorio local temporal que creaste previamente.
cd .. rm -rf OLD-REPOSITORY
Replicar un repositorio que contiene objetos de Almacenamiento de archivos de gran tamaño de Git
-
Abra TerminalTerminalGit Bash.
-
Crea un clon desnudo del repositorio. Reemplaza el nombre de usuario del ejemplo por el nombre de la persona u organización propietaria del repositorio y reemplaza el nombre del repositorio del ejemplo por el nombre del repositorio que deseas duplicar.
git clone --bare https://HOSTNAME/EXAMPLE-USER/OLD-REPOSITORY.git
-
Dirígete al repositorio que acabas de clonar.
cd OLD-REPOSITORY
-
Extra los objetos Almacenamiento de archivos de gran tamaño de Git del repositorio.
git lfs fetch --all
-
Sube en espejo al nuevo repositorio.
git push --mirror https://HOSTNAME/EXAMPLE-USER/NEW-REPOSITORY.git
-
Sube los objetos Almacenamiento de archivos de gran tamaño de Git del repositorio a tu espejo.
git lfs push --all https://github.com/EXAMPLE-USER/NEW-REPOSITORY.git
-
Eliminar el repositorio local temporal que creaste previamente.
cd .. rm -rf OLD-REPOSITORY
Replicar un repositorio en otra ubicación
Si quieres replicar un repositorio en otra ubicación, incluido obtener actualizaciones del original, puedes clonar una réplica y subir periódicamente los cambios.
-
Abra TerminalTerminalGit Bash.
-
Crea un clon desnudo en espejo del repositorio.
git clone --mirror https://HOSTNAME/EXAMPLE-USER/REPOSITORY-TO-MIRROR.git
-
Establece la ubicación para subir en tu espejo.
cd REPOSITORY-TO-MIRROR git remote set-url --push origin https://HOSTNAME/EXAMPLE-USER/MIRRORED
Al igual que sucede con un clon básico, un clon replicado incluye todas las ramas y etiquetas remotas, pero todas las referencias locales se sobrescribirán cada vez que extraigas elementos, por eso siempre será igual al repositorio original. El proceso para subir elementos a tu espejo se simplifica si estableces la URL para los elementos que subes.
-
Para actualizar tu espejo, extrae las actualizaciones y súbelas.
git fetch -p origin git push --mirror