Duplicar un repositorio
Para duplicar un repositorio sin bifurcarlo, puedes ejecutar un comando de clonación especial y luego subirlo en espejo al nuevo repositorio.
En este artículo
- Generar un espejo de un repositorio
- Replicar un repositorio que contiene objetos de Almacenamiento de archivos de gran tamaño Git
- Replicar un repositorio en otra ubicación
Para que puedas duplicar un repositorio y subirlo a tu nueva copia, o espejo del repositorio, antes debes crear el nuevo repositorio en tu instancia de servidor de GitHub Enterprise. En estos ejemplos, exampleuser/new-repository
o exampleuser/mirrored
son los espejos.
Generar un espejo de un repositorio
-
Open TerminalTerminalGit Bash.
-
Crea un clon desnudo de un repositorio.
$ git clone --bare https://nombre de host/exampleuser/old-repository.git
-
Sube en espejo al nuevo repositorio.
$ cd old-repository.git $ git push --mirror https://nombre de host/exampleuser/new-repository.git
-
Elimina el repositorio local temporario que creaste en el paso 1.
$ cd .. $ rm -rf old-repository.git
Replicar un repositorio que contiene objetos de Almacenamiento de archivos de gran tamaño Git
-
Open TerminalTerminalGit Bash.
-
Crea un clon desnudo de un 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://nombre de host/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 Git del repositorio.
$ git lfs fetch --all
-
Sube en espejo al nuevo repositorio.
$ git push --mirror https://nombre de host/exampleuser/new-repository.git
-
Sube los objetos Almacenamiento de archivos de gran tamaño Git del repositorio a tu espejo.
$ git lfs push --all https://github.com/exampleuser/new-repository.git
-
Elimina el repositorio local temporario que creaste en el paso 1.
$ 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.
-
Open TerminalTerminalGit Bash.
-
Crea un clon desnudo en espejo del repositorio.
$ git clone --mirror https://nombre de host/exampleuser/repository-to-mirror.git
-
Establece la ubicación para subir en tu espejo.
$ cd repository-to-mirror.git $ git remote set-url --push origin https://nombre de host/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