Skip to main content
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 atualizadas, acesse a documentação em inglês.

Suporte à migração para o GitHub Enterprise Importer

O GitHub Enterprise Importer migra uma variedade de dados para o GitHub de nossas origens com suporte.

Observação: atualmente, o GitHub Enterprise Importer está em versão beta pública e sujeito a alterações.

Sobre o suporte à migração do GitHub Enterprise Importer

O GitHub Enterprise Importer pode migrar para o GitHub Enterprise Cloud de qualquer uma de nossas origens de migração com suporte. Os dados incluídos em cada migração dependem da origem.

O GitHub Enterprise Importer dá suporte a migrações para o GitHub Enterprise Cloud nas fontes a seguir.

  • Nuvem do ADO (Azure DevOps)
  • Bitbucket Server e Bitbucket Data Center 5.14 e posterior
  • GitHub.com
  • GitHub Enterprise Server (GHES) 3.4.1 e posterior

Durante a versão beta, há limitações conhecidas no Importer que se aplicam a todas as origens.

Suporte à migração do Azure DevOps

Se a origem da migração for o Azure DevOps, você poderá migrar repositórios.

Você só pode usar o GitHub Enterprise Importer para migrar do Azure DevOps Cloud, não do Azure DevOps Server. Atualmente, se você usa o Azure DevOps Server e deseja migrar para o GitHub, migre primeiro para o Azure DevOps Cloud. Para obter mais informações, confira Migrar para o Azure DevOps no site do Azure.

Atualmente, só damos suporte à migração dos dados de repositório a seguir do Azure DevOps para o GitHub Enterprise Cloud.

  • Origem do Git (incluindo o histórico de commits)
  • Solicitações de pull
  • Histórico de usuários para solicitações de pull
  • Links de item de trabalho em solicitações de pull
  • Anexos em solicitações de pull
  • Proteções de branch do repositório (proteções de branch no escopo do usuário não incluídas)

Caso você deseje migrar o Azure Pipelines para o GitHub Actions, entre em contato com o gerente de contas do GitHub.

Suporte à migração do Bitbucket Server

Observação: As migrações do Bitbucket Server usando o GitHub Enterprise Importer estão atualmente em beta privado e sujeitas a alterações. Para solicitar acesso à versão beta, confira Entrar na lista de espera de migrações do Bitbucket Server.

Só há suporte para as migrações do Bitbucket Server no Bitbucket Server ou no Bitbucket Data Center versão 5.14 ou superior.

Se a origem da migração for o Bitbucket Server, você poderá migrar repositórios. Atualmente, só damos suporte à migração dos dados do repositório a seguir do Bitbucket Server para o GitHub Enterprise Cloud.

  • Origem do Git (incluindo o histórico de commits)
  • Solicitações de pull (incluindo revisões de solicitação de pull, revisores necessários, comentários e anexos, mas excluindo os comentários de nível de arquivo)

Atualmente, os dados a seguir não são migrados.

  • Comentários de nível de arquivo em solicitações de pull
  • Permissões de branch
  • Comentários de commit
  • Configurações do repositório

O GitHub Enterprise Importer não migra os pipelines de CI do Bitbucket Server.

Suporte à migração do GitHub.com

Se a origem de migração for o GitHub.com, você poderá migrar repositórios individuais ou organizações inteiras.

Quando você migra uma organização, uma organização é criada na conta corporativa de destino. Em seguida, os dados a seguir são migrados para a nova organização.

  • Teams
  • Repositórios
  • Acesso de equipe aos repositórios
  • Privilégios de membro
  • Webhooks no nível da organização
  • Nome do branch padrão para os repositórios criados na organização

Todos os repositórios são migrados com visibilidade particular. Caso você deseje definir a visibilidade de um repositório como pública ou interna, faça isso após a migração usando a interface do usuário ou a API.

A associação à equipe não é migrada. Após a migração, você precisará adicionar membros às equipes migradas. Para obter mais informações, confira "Como migrar entre produtos do GitHub com o GitHub Enterprise Importer".

Observação: As referências às equipes, como @octo-org/octo-team, não são atualizadas como parte de uma migração da organização. Isso pode causar problemas na organização de destino, como arquivos CODEOWNERS que não funcionam conforme o esperado. Para obter mais informações sobre como evitar e resolver esses problemas, confira "Solução de problemas de migração com o GitHub Enterprise Importer".

Quando você migra um repositório, diretamente ou como parte de uma migração da organização, apenas os dados a seguir são migrados.

  • Origem do Git (incluindo o histórico de commits)
  • Solicitações de pull
  • Problemas
  • Marcos
  • Wikis
  • Projetos (clássico) no nível do repositório
  • Fluxos de trabalho GitHub Actions
  • Comentários de commit
  • Webhooks ativos
  • Tópicos do repositório
  • Configurações do repositório
    • Proteções de branch (confira "Proteções de branch" para obter mais detalhes)
    • Configurações do GitHub Pages
    • Referência de link automático
    • Configurações do GitHub Advanced Security
    • Configurações de solicitação de pull
      • Excluir branches de cabeçalho automaticamente
      • Permitir mesclagem automática
      • Permitir commits de mesclagem (a configuração da mensagem de commit é redefinida para a mensagem padrão)
      • Permitir mesclagem squash (a configuração da mensagem de commit é redefinida para a mensagem padrão)
      • Permitir mesclagem de troca de base
  • Versões (até 10 GB por repositório)
  • Histórico do usuário para os dados acima

Atualmente, os dados a seguir não são migrados.

  • Os objetos e os binários grandes do Git LFS (ainda há suporte para os repositórios que usam o Git LFS. Confira "Limitações do GitHub Enterprise Importer")
  • Segredos, ambientes ou histórico de execuções de fluxo de trabalho do GitHub Actions
  • Segredos do Webhook
  • Segredos do GitHub Codespaces
  • Resultados do Code scanning
  • Estados de correção dos resultados da secret scanning
  • Alertas do Dependabot
  • Segredos do Dependabot
  • Projetos (clássicos) no nível da organização
  • Todos os Projects (a nova experiência de projetos)
  • Discussões no nível do repositório
  • Pacotes do GitHub Packages
  • Aplicativos GitHub
  • Relações de fork entre repositórios (confira "Sobre bifurcações")
  • Acesso do usuário ao repositório

Quando você migra um repositório diretamente, as equipes e o acesso de equipe aos repositórios não são migrados.

Proteções de ramificação

As proteções de branch aplicam um conjunto especificado de regras a um nome de branch específico ou a um padrão de nome de branch. Para obter mais informações, confira "Sobre branches protegidos".

As proteções de branch sempre serão migradas, mas algumas regras não serão migradas. As regras de proteção de branch a seguir não são migradas.

  • Permitir que atores específicos ignorem as solicitações de pull necessárias
  • Exigir a aprovação do push mais recente
  • Exigir que as implantações tenham êxito antes da mesclagem
  • Bloquear branch
  • Restringir os pushes que criam branches correspondentes
  • Permitir push forçado

As seguintes limitações também se aplicam:

  • Se uma regra de proteção de branch opcionalmente permitir que você especifique pessoas, equipes ou aplicativos que são isentos da regra, como "Restringir quem pode ignorar revisões de solicitação de pull", as exceções não serão migradas.
  • Se a regra "Permitir pushes forçados" estiver habilitada no modo "Especificar quem pode forçar o push", a regra não será migrada.

Suporte à migração do GitHub Enterprise Server

Se a origem de migração for o GitHub Enterprise Server, você poderá migrar repositórios.

Para migrar do GitHub Enterprise Server (GHES), você precisa ter o GHES versão 3.4.1 ou superior.

ItemGHES 3.4.1 e posteriorGHES 3.5.0 e posterior
Origem do Git (incluindo o histórico de commits)XX
Solicitações de pullXX
ProblemasXX
MarcosXX
WikisXX
Projetos (clássico) no nível do repositórioXX
Fluxos de trabalho GitHub ActionsXX
Comentários de commitXX
Webhooks ativosXX
Proteções de ramificaçãoXX
Configurações do GitHub PagesXX
Histórico do usuário para os dados acimaXX
VersõesX

Diferentes limites de tamanho por repositório se aplicam dependendo da versão do GHES.

LimiteGHES <3.8.0GHES 3.8.0 e posterior
Origem do Git2GB10GB
Metadados2GB10GB

Atualmente, os dados a seguir não são migrados.

  • Os objetos e os binários grandes do Git LFS (ainda há suporte para os repositórios que usam o Git LFS. Confira "Limitações do GitHub Enterprise Importer")
  • Segredos, ambientes ou histórico de execuções de fluxo de trabalho do GitHub Actions
  • Segredos do Webhook
  • Segredos do GitHub Codespaces
  • Resultados do Code scanning
  • Estados de correção dos resultados da secret scanning
  • Alertas do Dependabot
  • Segredos do Dependabot
  • Projetos (clássicos) no nível da organização
  • Todos os Projects (a nova experiência de projetos)
  • Discussões no nível do repositório
  • Pacotes do GitHub Packages
  • Aplicativos GitHub
  • Relações de fork entre repositórios (confira "Sobre bifurcações")
  • Teams
  • Acesso de usuário ou de equipe ao repositório
  • Configurações do repositório para solicitações de pull

Limitações

Há limites para o que o GitHub Enterprise Importer pode migrar. Alguns ocorrem devido a limitações do GitHub.com, enquanto outros são limitações do próprio GitHub Enterprise Importer.

Limitações do GitHub.com

  • Limite de tamanho de 2 GB para um commit individual do Git: nenhum commit individual no repositório Git pode ter mais de 2 GB. Se um dos commits for maior que 2 GB, divida o commit em commits menores que tenham 2 GB ou menos cada.
  • Limite de 255 bytes para referências do Git: nenhuma referência individual do Git, comumente conhecida como "referência", pode ter um nome maior que 255 bytes. Normalmente, isso significa que as referências não podem ter mais de 255 caracteres, mas qualquer caractere não ASCII, como emojis, pode consumir mais de um byte. Se uma das referências do Git for muito grande, retornaremos uma mensagem de erro clara.
  • Limite de tamanho de 100 MB para arquivos: nenhum arquivo individual no repositório Git pode ter mais de 100 MB. Considere o uso do Git LFS para armazenar arquivos grandes. Para obter mais informações, confira "Gerenciar arquivos grandes".

Limitações do GitHub Enterprise Importer

  • Limite de tamanho de 10 GB para um repositório Git: esse limite só se aplica ao código-fonte. Para inspecionar o tamanho do repositório, use a ferramenta git-sizer e verifique o tamanho total dos blobs.
  • Limite de 10 GB para metadados: o Importer não pode migrar repositórios com mais de 10 GB de metadados. Os metadados incluem problemas, solicitações de pull, versões e anexos. Na maioria dos casos, os metadados grandes são causados por ativos binários anexados a versões. Você pode excluir versões da migração com o sinalizador migrate-repo do comando --skip-releases e mover as versões manualmente após a migração.
  • Os objetos do Git LFS não migrados: o Importer pode migrar repositórios que usam o Git LFS, mas os próprios objetos LFS não serão migrados. Eles podem ser enviados por push para o destino de migração como uma tarefa de acompanhamento após a conclusão da migração. Para obter mais informações, confira "Duplicar um repositório".
  • Tarefas de acompanhamento necessárias: ao migrar entre produtos do GitHub, algumas configurações não são migradas e precisam ser reconfiguradas no novo repositório. Para ver uma lista de tarefas de acompanhamento que você precisará concluir após cada migração, confira "Como migrar entre produtos do GitHub com o GitHub Enterprise Importer".
  • Funcionalidade de pesquisa de código atrasada: a reindexação do índice de pesquisa pode levar algumas horas após a migração de um repositório, e as pesquisas de código podem retornar resultados inesperados até que a reindexação seja concluída.