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.
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
-
Abre el terminal 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
Mirroring a repository that contains Almacenamiento de archivos de gran tamaño Git objects
-
Abre el terminal 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
Mirroring a repository in another location
If you want to mirror a repository in another location, including getting updates from the original, you can clone a mirror and periodically push the changes.
-
Abre el terminal 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
As with a bare clone, a mirrored clone includes all remote branches and tags, but all local references will be overwritten each time you fetch, so it will always be the same as the original repository. 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