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.

Esta versão do GitHub Enterprise será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2020-05-23. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Versão do artigo: Enterprise Server 2.17

Exportar os repositórios da organização do GitHub.com

Usando a API de Migrações, é possível exportar os repositórios de uma organização. Após a exportação dos repositórios, você vai baixar o arquivo de migração usado para o processo de importação.

Note: Fork relationships do not persist after a migration.

Para exportar os dados do repositório do GitHub.com, use a API de Migrações.

No momento, a API de Migrações está em período de exibição. Ou seja, os pontos de extremidade e os parâmetros podem mudar no futuro. Para acessar a API de Migrações, você deve informar um tipo de mídia personalizado no cabeçalho Accept: application/vnd.github.wyandotte-preview+json. Os exemplos abaixo incluem o tipo de mídia personalizado.

Gerar arquivos de migração

Note: Locking a repository prevents users from pushing to the repository or modifying a repository's resources, like issues, labels, milestones, wikis, and comments. New teams and collaborators can't be associated with a locked repository.

If you're performing a trial run, you don't need to lock repositories. Otherwise, it's highly recommended. Para obter mais informações, consulte "Sobre migrações".

  1. Informe os integrantes da organização que você fará uma migração. Dependendo do número de repositórios exportados, a exportação pode levar vários minutos. A migração completa (com importação) pode levar horas. Portanto, é recomendável fazer uma avaliação para determinar a duração do processo completo. Para obter mais informações, consulte "Sobre migrações".

  2. Comece a migração fazendo POST no ponto de extremidade da migração. Você precisará do seguinte:

    • Token de acesso para autenticação;
    • Uma lista de repositórios que você pretende migrar:
      curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X POST \
      -H "Accept: application/vnd.github.wyandotte-preview+json" \
      -d'{"lock_repositories":true,"repositories":["orgname/reponame", "orgname/reponame"]}' \
      https://api.github.com/orgs/orgname/migrations
    • Se quiser bloquear os repositórios antes da migração, verifique se lock_repositories está definido como true. Fazer isso é altamente recomendável.
    • Você pode excluir anexos de arquivos adicionando exclude_attachments: true ao ponto de extremidade. Anexos de arquivos podem ser grandes e gerar um volume desnecessário no seu arquivo de migração final. O tamanho do arquivo final deve ser menor do que 20 GB.

    A solicitação retorna um id exclusivo que representa a migração. Você precisará dele em ações subsequentes que envolvam a API de Migrações.

  3. Envie uma solicitação GET para o ponto de extremidade de status da migração para fazer fetch do status da migração. Você precisará do seguinte:

    • Token de acesso para autenticação;
    • id exclusivo da migração.
      curl -H "Authorization: token GITHUB_ACCESS_TOKEN" \
      -H "Accept: application/vnd.github.wyandotte-preview+json" \
      https://api.github.com/orgs/orgname/migrations/id

    Os estados das migrações são os seguintes:

    • pending, a migração ainda não começou;
    • exporting, a migração está em andamento;
    • exported, a migração foi concluída com êxito;
    • failed, houve falha na migração.
  4. Depois de exportar a migração, baixe o aquivo de migração enviando uma solicitação GET para o ponto de extremidade de download da migração. Você precisará do seguinte:

    • Token de acesso para autenticação;
    • id exclusivo da migração.
      curl -H "Accept: application/vnd.github.wyandotte-preview+json" \
      -u GITHUB_USERNAME:GITHUB_ACCESS_TOKEN \
      -L -o migration_archive.tar.gz \
      https://api.github.com/orgs/orgname/migrations/id/archive
  5. O arquivo de migração é excluído automaticamente após sete dias. Para excluí-lo antes, você pode enviar a solicitação DELETE para o ponto de extremidade de exclusão do arquivo de migração. Você precisará do seguinte:

    • Token de acesso para autenticação;
    • id exclusivo da migração.
      curl -H "Authorization: token GITHUB_ACCESS_TOKEN" -X DELETE \
      -H "Accept: application/vnd.github.wyandotte-preview+json" \
      https://api.github.com/orgs/orgname/migrations/id/archive
  6. To import the archived migration data to a GitHub Enterprise Server instance, see "Importing migration data to GitHub Enterprise Server".

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato