Skip to main content

Importación de un repositorio de Git externo mediante la línea de comandos

Si el repositorio de Git se almacena en un servicio de hospedaje de código que no es accesible desde la red pública de Internet, puedes importar el repositorio mediante Git en la línea de comandos.

Antes de comenzar, asegúrate de saber lo siguiente:

  • Tu nombre de usuario GitHub
  • La dirección URL de clonación del repositorio externo, como https://external-host.com/user/repo.git o git://external-host.com/user/repo.git (quizás con un elemento user@ delante del nombre de dominio external-host.com)

A los fines de demostración, usaremos lo siguiente:

  • Una cuenta externa denominada extuser
  • Un host de Git externo denominado https://external-host.com
  • Una cuenta personal de GitHub denominada ghuser
  • Un repositorio en GitHub.com llamado repo.git
  1. Creación de un repositorio en GitHub. Importarás tu repositorio de Git externo a este repositorio nuevo.

  2. En la línea de comandos, haz un clon "en blanco" del repositorio externo usando la URL del clon externo. Esto crea una copia completa de los datos, pero sin un directorio de trabajo para editar archivos, y asegura una exportación limpia y nueva de todos los datos antiguos.

    $ git clone --bare https://external-host.com/EXTUSER/REPO.git
    # Makes a bare clone of the external repository in a local directory
    
  3. Sube el repositorio clonado de forma local a GitHub usando la opción "espejo", que asegura que todas las referencias, como ramas y etiquetas, se copien en el repositorio importado.

    $ cd REPO.git
    $ git push --mirror https://github.com/USER/REPO.git
    # Pushes the mirror to the new repository on GitHub.com
    
  4. Elimina el repositorio local temporal.

    cd ..
    rm -rf REPO.git
    

Si el repositorio que vas a importar contiene archivos de gran tamaño, puede producirse una advertencia o un error. Para más información sobre los archivos grandes y cómo administrarlos, consulte "Acerca de los archivos grandes en GitHub."

Información adicional