Importar datos desde sistemas de control de versiones de terceros

Usando el conjunto de herramientas git-import, puedes importar desde Subversion, Mercurial y Team Foundation Version Control a los repositorios Git en GitHub Enterprise Server.

Importar proyectos de Mercurial

  1. SSH en tu instancia de GitHub Enterprise Server. Para obtener más información, consulta "Acceder al shell administrativo (SSH)."

    $ ssh -p 122 admin@HOSTNAME
  2. Haz un clon sin procesar del proyecto mediante el comando a continuación, especificando la URL del proyecto de origen y una ruta a un repositorio temporal:

    $ git-import-hg-raw HG-CLONE-URL /PATH/REPO-NAME.git
    # Crea un nuevo repositorio con uno o más ref de Git en "refs/import/" en la ruta especificada.
  3. Revisa el archivo (CSV) separado por coma en /PATH/REPO-NAME.git/git-import/raw-authors.csv. Debería contener estas columnas:

    • ID: el autor tal como se almacena en el repositorio original, seguido de un identificador único
    • NOMBRE: el autor tal como se almacena en el repositorio original

    Para mapear autores desde el repositorio original a una dirección de correo electrónico y nombre, crea un nuevo archivo CSV con las columnas ID,(ignorado),GIT_EMAIL,GIT_NAME, que reemplace la información de autor por "ID" con "GIT_EMAIL" y "GIT_NAME".

    Ejemplo:

    • ID del autor original: octocat@111111-2222-3333-4444-55555555555

    • Nueva dirección de correo electrónico: octocat@github.com

    • Nuevo nombre: The Octocat

      Para mapear el autor original a un nuevo usuario de Git, el archivo CSV debería incluir la línea:

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Reescribe los autores y las ramas utilizando el archivo CSV:

    $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Si aún no lo has hecho, crea un nuevo repositorio vacío en GitHub Enterprise Server.

  6. Cambia el directorio de trabajo actual por tu repositorio local.

  7. Sube el repositorio importado a GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Importar proyectos de Subversion

  1. SSH en tu instancia de GitHub Enterprise Server. Para obtener más información, consulta "Acceder al shell administrativo (SSH)."

    $ ssh -p 122 admin@HOSTNAME
  2. Haz un clon sin procesar del proyecto mediante el comando a continuación, especificando la URL del proyecto de origen y una ruta a un repositorio temporal:

    $ git-import-svn-raw SVN-CLONE-URL /PATH/REPO-NAME.git
    # Crea un nuevo repositorio con uno o más ref de Git en "refs/import/" en la ruta especificada.
  3. Revisa el archivo (CSV) separado por coma en /PATH/REPO-NAME.git/git-import/raw-authors.csv. Debería contener estas columnas:

    • ID: el autor tal como se almacena en el repositorio original, seguido de un identificador único
    • NOMBRE: el autor tal como se almacena en el repositorio original

    Para mapear autores desde el repositorio original a una dirección de correo electrónico y nombre, crea un nuevo archivo CSV con las columnas ID,(ignorado),GIT_EMAIL,GIT_NAME, que reemplace la información de autor por "ID" con "GIT_EMAIL" y "GIT_NAME".

    Ejemplo:

    • ID del autor original: octocat@111111-2222-3333-4444-55555555555

    • Nueva dirección de correo electrónico: octocat@github.com

    • Nuevo nombre: The Octocat

      Para mapear el autor original a un nuevo usuario de Git, el archivo CSV debería incluir la línea:

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Reescribe los autores y las ramas utilizando el archivo CSV:

    $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Si aún no lo has hecho, crea un nuevo repositorio vacío en GitHub Enterprise Server.

  6. Cambia el directorio de trabajo actual por tu repositorio local.

  7. Sube el repositorio importado a GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Importar proyectos de Team Foundation Version Control

  1. SSH en tu instancia de GitHub Enterprise Server. Para obtener más información, consulta "Acceder al shell administrativo (SSH)."

    $ ssh -p 122 admin@HOSTNAME
  2. Haz un clon sin procesar del proyecto mediante el comando a continuación, especificando la URL del proyecto de origen y una ruta a un repositorio temporal:

    $ git-import-tfs-raw TEAM-FOUNDATION-CLONE-URL /PATH/REPO-NAME.git
    # Crea un nuevo repositorio con uno o más ref de Git en "refs/import/" en la ruta especificada.
  3. Revisa el archivo (CSV) separado por coma en /PATH/REPO-NAME.git/git-import/raw-authors.csv. Debería contener estas columnas:

    • ID: el autor tal como se almacena en el repositorio original, seguido de un identificador único
    • NOMBRE: el autor tal como se almacena en el repositorio original

    Para mapear autores desde el repositorio original a una dirección de correo electrónico y nombre, crea un nuevo archivo CSV con las columnas ID,(ignorado),GIT_EMAIL,GIT_NAME, que reemplace la información de autor por "ID" con "GIT_EMAIL" y "GIT_NAME".

    Ejemplo:

    • ID del autor original: octocat@111111-2222-3333-4444-55555555555

    • Nueva dirección de correo electrónico: octocat@github.com

    • Nuevo nombre: The Octocat

      Para mapear el autor original a un nuevo usuario de Git, el archivo CSV debería incluir la línea:

      octocat@111111-2222-3333-4444-55555555555, ,octocat@github.com,The Octocat

  4. Reescribe los autores y las ramas utilizando el archivo CSV:

    $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Si aún no lo has hecho, crea un nuevo repositorio vacío en GitHub Enterprise Server.

  6. Cambia el directorio de trabajo actual por tu repositorio local.

  7. Sube el repositorio importado a GitHub Enterprise Server:

    $ git push --mirror PUSH-URL-ON-GITHUB-ENTERPRISE

Leer más

¿Te ayudó este documento?

Política de privacidad

¡Ayúdanos a hacer geniales estos documentos!

Todos los documentos de GitHub son de código abierto. ¿Notas algo que esté mal o que no sea claro? Emite una solicitud de cambios.

Haz una contribución

O, aprende cómo contribuir.