👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Learn more on the GitHub blog.


Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.
Versão do artigo: Enterprise Server 2.19

Importar dados de sistemas de controle de versão de terceiros

Usando o conjunto de ferramentas git-import, é possível fazer importações dos controles de versão do Subversion, do Mercurial e do Team Foundation para repositórios do Git no GitHub Enterprise Server.

Neste artigo

Você conseguiu encontrar o que estava procurando?

Importar projetos do Mercurial

  1. SSH into sua instância do GitHub Enterprise Server.

    $ ssh -p 122 admin@HOSTNAME
  2. Faça um clone bruto do projeto usando o comando abaixo. Especifique a URL do projeto de origem e um caminho para um repositório temporário:

    $ git-import-hg-raw HG-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. Review the comma-separated (CSV) file in /PATH/REPO-NAME.git/git-import/raw-authors.csv. It should contain these columns:

    • ID: The author as stored in the original repository, followed by a unique identifier
    • NAME: The author as stored in the original repository

    To map authors from the original repository to an email address and name, create a new CSV file with the columns ID,(ignored),GIT_EMAIL,GIT_NAME, which replaces the author information for anything by "ID" with "GIT_EMAIL" and "GIT_NAME".

    Exemplo:

    • Original author ID: octocat@111111-2222-3333-4444-55555555555

    • New email address: octocat@github.com

    • New name: The Octocat

      To map the original author to the new Git user, the CSV file should include the line:

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

  4. Rescreva os autores e branches usando o arquivo CSV:

    $ git-import-rewrite --flavor hg --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Caso ainda não tenha feito isso, crie um repositório vazio no GitHub Enterprise Server.

  6. Mude o diretório de trabalho atual para o seu repositório local.

  7. Faça push do repositório importado para o GitHub Enterprise Server:

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

Importar projetos do Subversion

  1. SSH into sua instância do GitHub Enterprise Server.

    $ ssh -p 122 admin@HOSTNAME
  2. Faça um clone bruto do projeto usando o comando abaixo. Especifique a URL do projeto de origem e um caminho para um repositório temporário:

    $ git-import-svn-raw SVN-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. Review the comma-separated (CSV) file in /PATH/REPO-NAME.git/git-import/raw-authors.csv. It should contain these columns:

    • ID: The author as stored in the original repository, followed by a unique identifier
    • NAME: The author as stored in the original repository

    To map authors from the original repository to an email address and name, create a new CSV file with the columns ID,(ignored),GIT_EMAIL,GIT_NAME, which replaces the author information for anything by "ID" with "GIT_EMAIL" and "GIT_NAME".

    Exemplo:

    • Original author ID: octocat@111111-2222-3333-4444-55555555555

    • New email address: octocat@github.com

    • New name: The Octocat

      To map the original author to the new Git user, the CSV file should include the line:

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

  4. Rescreva os autores e branches usando o arquivo CSV:

    $ git-import-rewrite --flavor svn --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Caso ainda não tenha feito isso, crie um repositório vazio no GitHub Enterprise Server.

  6. Mude o diretório de trabalho atual para o seu repositório local.

  7. Faça push do repositório importado para o GitHub Enterprise Server:

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

Importar projetos do Team Foundation

  1. SSH into sua instância do GitHub Enterprise Server.

    $ ssh -p 122 admin@HOSTNAME
  2. Faça um clone bruto do projeto usando o comando abaixo. Especifique a URL do projeto de origem e um caminho para um repositório temporário:

    $ git-import-tfs-raw TEAM-FOUNDATION-CLONE-URL /PATH/REPO-NAME.git
    # Creates a new repository with one or more Git refs in "refs/import/" in the specified path.
  3. Review the comma-separated (CSV) file in /PATH/REPO-NAME.git/git-import/raw-authors.csv. It should contain these columns:

    • ID: The author as stored in the original repository, followed by a unique identifier
    • NAME: The author as stored in the original repository

    To map authors from the original repository to an email address and name, create a new CSV file with the columns ID,(ignored),GIT_EMAIL,GIT_NAME, which replaces the author information for anything by "ID" with "GIT_EMAIL" and "GIT_NAME".

    Exemplo:

    • Original author ID: octocat@111111-2222-3333-4444-55555555555

    • New email address: octocat@github.com

    • New name: The Octocat

      To map the original author to the new Git user, the CSV file should include the line:

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

  4. Rescreva os autores e branches usando o arquivo CSV:

    $ git-import-rewrite --flavor tfs --authors /PATH/AUTHORS-MAP-FILE.csv /PATH/REPO-NAME.git
  5. Caso ainda não tenha feito isso, crie um repositório vazio no GitHub Enterprise Server.

  6. Mude o diretório de trabalho atual para o seu repositório local.

  7. Faça push do repositório importado para o GitHub Enterprise Server:

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

Leia mais

Você conseguiu encontrar o que estava procurando?

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato