Skip to main content

Esta versão do GitHub Enterprise Server foi descontinuada em 2024-03-26. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

Importação de outros sistemas de controle de versão com o shell administrativo

Usando o shell administrativo, é possível fazer importações do Subversion, do Mercurial e do Controle de Versão do Team Foundation para repositórios Git no GitHub Enterprise Server.

Quem pode usar esse recurso?

Site administrators can use the administrative shell to import data from other version control systems.

Importar projetos do Mercurial

  1. Conecte-se via SSH ao sua instância do GitHub Enterprise Server. Se sua instância for composta por vários nós, por exemplo, se a alta disponibilidade ou a replicação geográfica estiver configurada, efetue SSH no nó primário. Se você usar um cluster, poderá efetuar SSH em qualquer nó. Substitua HOSTNAME pelo nome do host da instância ou pelo nome do host ou endereço IP de um nó. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".

    Shell
    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. Revise o arquivo CSV (separado por vírgula) em /PATH/REPO-NAME.git/git-import/raw-authors.csv. Deve conter estas colunas:

    • ID: o autor, conforme armazenado no repositório original, seguido de um identificador exclusivo
    • NAME: o autor, conforme armazenado no repositório original

    Para mapear autores do repositório original para um endereço de email e nome, crie um novo arquivo CSV com as colunas ID,(ignored),GIT_EMAIL,GIT_NAME. Você pode usar esse arquivo CSV para substituir as informações do autor de qualquer item por "ID" por "GIT_EMAIL" e "GIT_NAME".

    Por exemplo, se você quiser mapear a ID do autor original de octocat@111111-2222-3333-4444-55555555555 para um novo usuário com o endereço de email de octocat@github.com e o nome de The Octocat, o arquivo CSV deverá incluir a linha:

    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. Se ainda não tiver 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 para o GitHub Enterprise Server:

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

Importar projetos do Subversion

  1. Conecte-se via SSH ao sua instância do GitHub Enterprise Server. Se sua instância for composta por vários nós, por exemplo, se a alta disponibilidade ou a replicação geográfica estiver configurada, efetue SSH no nó primário. Se você usar um cluster, poderá efetuar SSH em qualquer nó. Substitua HOSTNAME pelo nome do host da instância ou pelo nome do host ou endereço IP de um nó. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".

    Shell
    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. Revise o arquivo CSV (separado por vírgula) em /PATH/REPO-NAME.git/git-import/raw-authors.csv. Deve conter estas colunas:

    • ID: o autor, conforme armazenado no repositório original, seguido de um identificador exclusivo
    • NAME: o autor, conforme armazenado no repositório original

    Para mapear autores do repositório original para um endereço de email e nome, crie um novo arquivo CSV com as colunas ID,(ignored),GIT_EMAIL,GIT_NAME. Você pode usar esse arquivo CSV para substituir as informações do autor de qualquer item por "ID" por "GIT_EMAIL" e "GIT_NAME".

    Por exemplo, se você quiser mapear a ID do autor original de octocat@111111-2222-3333-4444-55555555555 para um novo usuário com o endereço de email de octocat@github.com e o nome de The Octocat, o arquivo CSV deverá incluir a linha:

    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. Se ainda não tiver 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 para o GitHub Enterprise Server:

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

Importar projetos do Team Foundation

  1. Conecte-se via SSH ao sua instância do GitHub Enterprise Server. Se sua instância for composta por vários nós, por exemplo, se a alta disponibilidade ou a replicação geográfica estiver configurada, efetue SSH no nó primário. Se você usar um cluster, poderá efetuar SSH em qualquer nó. Substitua HOSTNAME pelo nome do host da instância ou pelo nome do host ou endereço IP de um nó. Para obter mais informações, confira "Acesar o shell administrativo (SSH)".

    Shell
    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. Revise o arquivo CSV (separado por vírgula) em /PATH/REPO-NAME.git/git-import/raw-authors.csv. Deve conter estas colunas:

    • ID: o autor, conforme armazenado no repositório original, seguido de um identificador exclusivo
    • NAME: o autor, conforme armazenado no repositório original

    Para mapear autores do repositório original para um endereço de email e nome, crie um novo arquivo CSV com as colunas ID,(ignored),GIT_EMAIL,GIT_NAME. Você pode usar esse arquivo CSV para substituir as informações do autor de qualquer item por "ID" por "GIT_EMAIL" e "GIT_NAME".

    Por exemplo, se você quiser mapear a ID do autor original de octocat@111111-2222-3333-4444-55555555555 para um novo usuário com o endereço de email de octocat@github.com e o nome de The Octocat, o arquivo CSV deverá incluir a linha:

    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. Se ainda não tiver 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 para o GitHub Enterprise Server:

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

Leitura adicional