Skip to main content

Esta versão do GitHub Enterprise Server foi descontinuada em 2024-03-26. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos, atualize para a última versão do GitHub Enterprise Server. Para obter ajuda com a atualização, entre em contato com o suporte do GitHub Enterprise.

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.

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

  1. No sua instância do GitHub Enterprise Server, 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, em "Zona de Perigo", clique em Transferir.

  4. Leia as advertências e digite o nome do repositório para confirmar que você fez isso.

  5. Na caixa de texto, digite o nome do novo proprietário 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". Para obter mais informações, confira 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. No sua instância do GitHub Enterprise Server, 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, em "Zona de Perigo", clique em Transferir.

  5. Leia as advertências e digite o nome do repositório para confirmar que você fez isso.

  6. Na caixa de texto, digite o nome do novo proprietário e clique em Entendi. Transferir este repositório.