Para poder insertar el repositorio original en la nueva copia, o reflejo, del repositorio, debe crear el repositorio en your GitHub Enterprise Server instance. 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/exampleuser/old-repository.git
- Sube en espejo al nuevo repositorio.
$ cd old-repository.git $ git push --mirror https://hostname/exampleuser/new-repository.git
- Eliminar el repositorio local temporal que creaste previamente.
$ cd .. $ rm -rf old-repository.git
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/exampleuser/old-repository.git
- Dirígete al repositorio que acabas de clonar.
$ cd old-repository.git
- 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/exampleuser/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/exampleuser/new-repository.git
- Eliminar el repositorio local temporal que creaste previamente.
$ cd .. $ rm -rf old-repository.git
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/exampleuser/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/exampleuser/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