Esta versão do GitHub Enterprise foi descontinuada em 2021-09-23. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

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, quadros de projeto e configurações.

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

  • 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. Os outros colaboradores do repositório transferido permanecem intactos.
  • Bifurcações privadas não podem ser transferidas.

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 de usuário, as atribuições de problemas são mantidas intactas. Quando você transfere um repositório de uma conta de usuário 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 de usuário, 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ê usar git clone, git fetch ou git push em um repositório transferido, esses comandos serão redirecionados para a nova URL ou local 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. Use git remote na linha de comando para fazer isso:

    $ git remote set-url origin new_url
  • When you transfer a repository from an organization to a user account, the repository's read-only collaborators will not be transferred. This is because collaborators can't have read-only access to repositories owned by a user account. Para obter mais informações, consulte "Níveis de permissão para um repositório de conta de usuário" e "Níveis de permissão de repositório para uma organização".

Para obter mais informações, consulte "Gerenciar repositórios remotos".

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 de usuário

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

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

  2. No nome do seu repositório, clique em Configurações. Botão de configurações do repositório

  3. Clique em Transferir. Botão de Transferir

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

  5. Digite o nome do novo proprietário e clique em Eu entendo. Transfira este repositório. Botão de Transferir

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, será possível transferir um repositório pertencente à organização para sua conta de usuário ou para outra organização.

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

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

  3. No nome do seu repositório, clique em Configurações. Botão de configurações do repositório

  4. Clique em Transferir. Botão de Transferir

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

  6. Digite o nome do novo proprietário e clique em Eu entendo. Transfira este repositório. Botão de Transferir