Skip to main content

Transferir um repositório

É possível transferir repositórios para outros usuários ou contas da organização.

Sobre transferências de repositório

Quando você transfere um repositório para um novo proprietário, ele pode administrar imediatamente o conteúdo do repositório, além de problemas, pull requests, versões, projects (classic) e configurações. Você também pode alterar o nome do repositório durante a transferência de um repositório. Para obter mais informações, confira "Renomear um repositório".

Pré-requisitos para transferências no repositório:

  • Ao transferir um repositório que seja seu para outra conta pessoal, o novo proprietário receberá um email de confirmação. O email de confirmação inclui instruções para aceitar a transferência. Se o novo proprietário não aceitar a transferência em um dia, o convite vai expirar.
  • Para transferir um repositório que você possui para uma organização, é preciso ter permissão para criar um repositório na organização de destino.
  • A conta de destino não deve ter um repositório com o mesmo nome ou uma bifurcação na mesma rede.
  • O proprietário original do repositório é adicionado como colaborador no repositório transferido. Outros colaboradores do repositório transferido ficam intactos.
  • Repositórios únicos bifurcados de uma rede upstream privada não podem ser transferidos.
  • Os repositórios internos só podem ser transferidos para uma organização na empresa. Não é possível transferir um repositório interno de uma organização pertencente a uma conta corporativa para uma organização pertencente a uma conta corporativa diferente.

Se você transferir um repositório privado para uma conta de usuário ou de organização do GitHub Free, o repositório perderá o acesso aos recursos como branches protegidos e o GitHub Pages. Para mais informações, confira "Planos do GitHub".

Se o repositório transferido contém uma ação listada no GitHub Marketplace ou tinham mais de 100 clones ou mais de 100 usos do GitHub Actions na semana anterior à transferência, o GitHub desativa permanentemente a combinação de nome do proprietário e do repositório (OWNER/REPOSITORY-NAME) quando você transfere o repositório. Ao tentar criar um repositório com uma combinação de nome de proprietário e nome de repositório desativados, você verá o erro: "O repositório REPOSITORY_NAME foi desativado e não pode ser reutilizado."

O que é transferido com um repositório?

Quando você transfere um repositório, também são transferidos problemas, pull requests, wiki, estrelas e inspetores dele. Se o repositório transferido contiver webhooks, serviços, segredos ou chaves de implantação, eles continuarão associados mesmo depois que a transferência for concluída. Informações do Git sobre commits, inclusive contribuições, são preservadas. Além disso:

  • Se o repositório transferido for uma bifurcação, continuará associado ao repositório upstream.

  • Se o repositório transferido tiver alguma bifurcação, ela permanecerá associada ao repositório depois que a transferência for concluída.

  • Se o repositório transferido usar Git Large File Storage, todos os objetos Git LFS serão automaticamente movidos. Esta transferência ocorre em segundo plano. Portanto, se você tiver um número grande de objetos de Git LFS ou se os próprios objetos de Git LFS forem grandes, poderá levar um tempo para realizar a transferência. Antes de transferir um repositório que usa Git LFS, certifique-se de que a conta de recebimento tenha pacotes de dados suficientes para armazenar os objetos de Git LFS que você vai se transferir. Para obter mais informações sobre como adicionar armazenamento para contas pessoais, confira "Atualizar o Git Large File Storage".

  • Quando um repositório é transferido entre duas contas pessoais, as atribuições de problemas são mantidas intactas. Quando você transfere um repositório de uma conta pessoal para uma organização, os problemas atribuídos a integrantes da organização permanecem intactos e todos os outros responsáveis por problemas são destituídos. Somente proprietários da organização têm permissão para criar novas atribuições de problemas. Quando você transfere um repositório de uma organização para uma conta pessoal, são mantidos somente os problemas atribuídos ao proprietário do repositório. Todos os outros responsáveis por problemas são removidos.

  • Se o repositório transferido contiver um site do GitHub Pages, os links para o repositório do Git na web e por meio de atividade do Git serão redirecionados. No entanto, não redirecionamos o GitHub Pages associado ao repositório.

  • Todos os links para o local do repositório anterior são automaticamente redirecionados para o novo local. Quando você usa git clone, git fetch ou git push em um repositório transferido, esses comandos redirecionarão você para o novo local ou a URL do repositório. No entanto, para evitar confusão, recomendamos que qualquer clone local seja atualizado para apontar para a nova URL do repositório. Faça isso usando git remote na linha de comando:

    git remote set-url origin NEW_URL
    

    Aviso: se você criar um novo repositório ou fork na localização anterior do repositório, os redirecionamentos para o repositório transferido serão desativados. Eles podem ser reativados renomeando ou excluindo o novo repositório ou fork.

  • Quando você transfere um repositório de uma organização para uma conta pessoal, os colaboradores somente leitura do repositório não serão transferidos. Isso acontece porque os colaboradores não podem ter acesso somente leitura a repositórios pertencentes a uma conta pessoal. Para obter mais informações sobre os níveis de permissão do repositório, confira "Níveis de permissão para um repositório da conta pessoal" e "Funções de repositório para uma organização".

  • Os patrocinadores que têm acesso ao repositório por meio de um nível de patrocínio podem ser afetados. Para obter mais informações, confira "Gerenciar as suas camadas de patrocínio".

  • Pacotes associados ao repositório podem ser transferidos ou podem perder o link para o repositório, dependendo do registro a que pertencem. Para obter mais informações, confira "Sobre permissões para o GitHub Packages".

Para obter mais informações, confira "Gerenciar repositórios remote".

Transferências de repositório e organizações

Para transferir repositórios para uma organização, é preciso ter permissões de criação de repositórios na organização recebedora. Se os proprietários da organização tiverem desabilitado a criação de repositórios por integrantes da organização, somente proprietários da organização poderão transferir repositórios dentro ou fora da organização.

Depois que um repositório for transferido para uma organização, os privilégios de associação padrão e as configurações padrão de permissão de repositório da organização se aplicarão ao repositório transferido.

Transferir um repositório pertencente à sua conta pessoal

É possível transferir seu repositório para qualquer conta pessoal que aceite transferência de repositório. Quando um repositório é transferido entre duas contas pessoais, o proprietário e os colaboradores do repositório original são automaticamente adicionados como colaboradores ao novo repositório.

Se você publicou um site GitHub Pages em um repositório privado e adicionou um domínio personalizado, antes de transferir o repositório, você deverá remover ou atualizar seus registros DNS para evitar o risco de tomada de um domínio. Para obter mais informações, confira "Gerenciar um domínio personalizado do seu site do GitHub Pages".

  1. No GitHub.com, navegue até a página principal do repositório.

  2. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  3. Na parte inferior da página, na seção "Zona de Perigo", clique em Transferir.

  4. Leia as informações sobre como transferir um repositório e, em "Novo proprietário", escolha como especificar o novo proprietário.

    • Para escolher uma de suas organizações, selecione Selecionar uma das minhas organizações.

      • Selecione o menu suspenso e clique em uma organização.

      • Opcionalmente, no campo "Nome do repositório", digite um novo nome para o repositório.

        Nota: você precisa ser um proprietário na organização de destino para renomear o repositório.

    • Para especificar uma organização ou nome de usuário, selecione Especificar uma organização ou nome de usuário e digite o nome da organização ou o nome de usuário do novo proprietário.

  5. Leia as advertências sobre a potencial perda de recursos dependendo da assinatura do GitHub do novo proprietário.

  6. Após Digite o NOME DO REPOSITÓRIO para confirmar, digite o nome do repositório que deseja transferir e clique em Entendi. Transferir este repositório.

Transferir um repositório pertencente à organização

Se você tiver permissões de proprietário em uma organização ou permissões de administrador para um dos repositórios dela, poderá transferir um repositório pertencente à organização para sua conta pessoal ou para outra organização.

  1. Entre na sua conta pessoal que tenha permissões de proprietário ou de administrador na organização proprietária do repositório.

  2. No GitHub.com, navegue até a página principal do repositório.

  3. Abaixo do nome do repositório, clique em Configurações. Caso não consiga ver a guia "Configurações", selecione o menu suspenso , clique em Configurações.

    Captura de tela de um cabeçalho de repositório que mostra as guias. A guia "Configurações" é realçada por um contorno laranja-escuro.

  4. Na parte inferior da página, na seção "Zona de Perigo", clique em Transferir.

  5. Leia as informações sobre como transferir um repositório e, em "Novo proprietário", escolha como especificar o novo proprietário.

    • Para escolher uma de suas organizações, selecione Selecionar uma das minhas organizações.

      • Selecione o menu suspenso e clique em uma organização.

      • Opcionalmente, no campo "Nome do repositório", digite um novo nome para o repositório.

        Nota: você precisa ser um proprietário na organização de destino para renomear o repositório.

    • Para especificar uma organização ou nome de usuário, selecione Especificar uma organização ou nome de usuário e digite o nome da organização ou o nome de usuário do novo proprietário.

  6. Leia as advertências sobre a potencial perda de recursos dependendo da assinatura do GitHub do novo proprietário.

  7. Após Digite o NOME DO REPOSITÓRIO para confirmar, digite o nome do repositório que deseja transferir e clique em Entendi. Transferir este repositório.