# Sobre repositórios bloqueados

Os repositórios podem ser bloqueados para evitar alterações, geralmente para migrações.

## Sobre repositórios bloqueados

Quando você migra repositórios entre produtos GitHub, os repositórios de origem e destino podem estar "bloqueados" para a migração. Enquanto um repositório estiver bloqueado, você não poderá fazer nenhuma alteração no repositório, como enviar commits por push, criar problemas ou comentar solicitações de pull.

A possibilidade de bloquear os seus repositórios durante a migração depende das ferramentas que você usa e das opções escolhidas ao executar a migração. Quando um repositório é bloqueado, uma faixa com o seguinte texto é exibida na página do repositório em GitHub:

> Este repositório está sendo migrado no momento. Ele fica bloqueado enquanto a migração está em andamento.

Os administradores do site também podem bloquear repositórios por outros motivos além das migrações.

Geralmente, os repositórios são desbloqueados automaticamente quando a migração é concluída. Em outros casos, desbloquear um repositório é uma etapa manual, e o processo necessário para desbloquear um repositório depende da ferramenta de migração usada.

## Repositórios bloqueados por GitHub Enterprise Importer

Enquanto uma migração está em andamento, o acesso ao repositório de destino é bloqueado por GitHub Enterprise Importer. Se a migração for concluída com êxito, o repositório será desbloqueado automaticamente. No entanto, se houver um problema com a migração, incluindo uma falha de migração, o repositório poderá permanecer bloqueado.

GitHub Enterprise Importer não bloqueia repositórios de origem por padrão. Os repositórios de origem só serão bloqueados se você especificar a opção `--lock-source-repo` no GitHub CLI ou o atributo `lockSource` na mutação GraphQL `startRepositoryMigration`.

> \[!NOTE]
> Não recomendamos bloquear repositórios de origem, a menos que você tenha certeza de que não desejará desbloqueá-los mais tarde. Em vez disso, considere arquivar os repositórios. Para saber mais, confira [Arquivar repositórios](/pt/enterprise-server@3.22/repositories/archiving-a-github-repository/archiving-repositories).

Para obter informações sobre como desbloquear repositórios bloqueados por GitHub Enterprise Importer, consulte [Solução de problemas de migração com o GitHub Enterprise Importer](/pt/enterprise-server@3.22/migrations/troubleshooting/troubleshooting-your-migration-with-github-enterprise-importer#locked-repositories).

## Repositórios arquivados por Enterprise Live Migrations

Nas versões mais recentes GitHub Enterprise Server, Enterprise Live Migrations arquiva, em vez de bloquear, o repositório de origem. Isso mantém o repositório disponível para operações de leitura.

Se uma transição falhar após o repositório de origem ter sido arquivado, o serviço ELM tentará desarquivar o repositório. Se isso falhar, um administrador de repositório poderá desarquivar o repositório. Consulte [Arquivar repositórios](/pt/enterprise-server@3.22/repositories/archiving-a-github-repository/archiving-repositories#unarchiving-a-repository).

Lembre-se de que desarquivar um repositório causará carga adicional na instância, pois todos os problemas e solicitações de pull no repositório serão reindexados no Elasticsearch.

Depois que o repositório de origem for desarquivado, você poderá tentar novamente a alternância usando `elm migration cutover-to-destination --migration-id MIGRATION-ID` ou abortar a migração com `elm migration cancel --migration-id MIGRATION-ID` e iniciar uma nova migração quando estiver pronto.

## Repositórios bloqueados pela API REST de "Migrações da Organização"

Quando você chama o endpoint [Iniciar uma migração de organização](/pt/enterprise-server@3.22/rest/migrations/orgs#start-an-organization-migration) para gerar um arquivo de migração para um repositório de origem, por padrão, o repositório não é bloqueado. O repositório só será bloqueado se você definir o parâmetro `lock_repositories` como `true`.

Se você bloquear um repositório por meio deste endpoint, poderá desbloquear o repositório usando o endpoint [Desbloquear um repositório da organização](/pt/enterprise-server@3.22/rest/migrations/orgs#unlock-an-organization-repository).

Se o repositório estiver armazenado GitHub Enterprise Server, um administrador do site também poderá desbloquear o repositório usando o painel do administrador do site. Para obter mais informações, consulte [Bloquear um repositório](/pt/enterprise-server@3.22/admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/locking-a-repository).

## Repositórios bloqueados por `ghe-migrator`

Quando você usa `ghe-migrator`, o repositório GitHub Enterprise Server de destino é bloqueado por padrão e não é desbloqueado automaticamente.

Se a importação tiver sido bem-sucedida, você poderá desbloquear o repositório com o comando `ghe-migrator unlock`. Para saber mais, confira [Migrando dados para GitHub Enterprise Server](/pt/enterprise-server@3.22/migrations/using-ghe-migrator/migrating-data-to-github-enterprise-server#unlocking-repositories-on-the-target-instance).

Se a importação falhou, nem todos os dados foram migrados e recomendamos excluir o repositório e tentar novamente a migração para evitar a perda de dados.

Se você tiver certeza de que deseja usar o repositório, um administrador do site poderá desbloquear o repositório usando o painel de administração do site. Para obter mais informações, consulte [Bloquear um repositório](/pt/enterprise-server@3.22/admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/locking-a-repository).

O repositório de origem não é bloqueado por padrão, somente se o argumento `--lock` for especificado ao preparar o repositório para exportação com o comando `ghe-migrator add`. Para desbloquear o repositório, use o comando `ghe-migrator unlock`. Para saber mais, confira [Migrando dados para GitHub Enterprise Server](/pt/enterprise-server@3.22/migrations/using-ghe-migrator/migrating-data-to-github-enterprise-server#unlocking-repositories-on-the-source).

## Repositórios bloqueados pela mutação GraphQL `startImport`

Quando você usa a mutação GraphQL `startImport`, o repositório de destino é bloqueado por padrão e não é desbloqueado automaticamente.

Se a importação tiver sido bem-sucedida, você poderá desbloquear o repositório com a mutação GraphQL `unlockImportedRepositories`. Para obter documentação, entre em contato com seu representante de Serviços Especializados ou Parceiro GitHub.

Se a importação falhar, você não poderá desbloquear o repositório por conta própria. Como uma migração com falha significa que nem todos os seus dados foram migrados, recomendamos excluir o repositório e tentar novamente a migração para evitar a perda de dados.

Se tiver certeza de que deseja desbloquear o repositório, entre em contato [de suporte do GitHub](https://support.github.com)seu administrador do site.