Skip to main content

Enterprise Server 3.15 está disponível no momento como versão release candidate.

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. 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.
  • Para transferir um repositório, você deve ter acesso de administrador ao repositório.
  • Os repositórios só podem ser transferidos para um proprietário dentro da mesma instância GitHub Enterprise Server. Para obter mais informações sobre como mover um respositório do GitHub Enterprise Server para o GitHub Enterprise Cloud, confira "Como migrar repositórios do GitHub Enterprise Server para o GitHub Enterprise Cloud".
  • 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.

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.

  • 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".

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

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.

  1. Em GitHub, acesse 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. Os repositórios internos não podem ser transferidos para uma conta pessoal, apenas para outra organização. Para transferir um repositório interno, altere a visibilidade do repositório para "privado" ou "público". Consulte Definir a visibilidade do repositório

  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. Em GitHub, acesse 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.