Skip to main content

Duplicar un repositorio

Para mantener una réplica de un repositorio sin bifurcarlo, puedes ejecutar un comando de clonado especial y luego subir la réplica al repositorio nuevo.

Para poder insertar el repositorio original en la nueva copia, o reflejo, del repositorio, debe crear el repositorio en your enterprise. En estos ejemplos, exampleuser/new-repository o exampleuser/mirrored son los reflejos.

Generar un espejo de un repositorio

  1. Abra TerminalTerminalGit Bash.
  2. Crea un clon desnudo del repositorio.
    $ git clone --bare https://hostname/EXAMPLE-USER/OLD-REPOSITORY.git
  3. Sube en espejo al nuevo repositorio.
    $ cd OLD-REPOSITORY.git
    $ git push --mirror https://hostname/EXAMPLE-USER/NEW-REPOSITORY.git
  4. 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

  1. Abra TerminalTerminalGit Bash.
  2. 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
  3. Dirígete al repositorio que acabas de clonar.
    $ cd OLD-REPOSITORY.git
  4. Extra los objetos Almacenamiento de archivos de gran tamaño de Git del repositorio.
    $ git lfs fetch --all
  5. Sube en espejo al nuevo repositorio.
    $ git push --mirror https://hostname/EXAMPLE-USER/NEW-REPOSITORY.git
  6. 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
  7. 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.

  1. Abra TerminalTerminalGit Bash.

  2. Crea un clon desnudo en espejo del repositorio.

    $ git clone --mirror https://hostname/EXAMPLE-USER/REPOSITORY-TO-MIRROR.git
  3. 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.

  4. Para actualizar tu espejo, extrae las actualizaciones y súbelas.

    $ git fetch -p origin
    $ git push --mirror