Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise será descontinuada em Esta versão do GitHub Enterprise foi descontinuada em 2020-01-22. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Duplicar um repositório

Para duplicar um repositório sem bifurcá-lo, você pode executar um comando especial de clone e depois fazer espelhamento/push no novo repositório.

Neste artigo

Para poder duplicar um repositório e fazer push (ou seja, espelhamento) na nova cópia do repositório, é preciso criar o novo repositório no sua instância do GitHub Enterprise Server. Nesses exemplos, exampleuser/new-repository ou exampleuser/mirrored são os espelhos.

Espelhar um repositório

  1. Open TerminalTerminalGit Bash.

  2. Crie um clone bare do repositório.

    $ git clone --bare https://hostname/exampleuser/old-repository.git
  3. Faça espelhamento/push no novo repositório.

    $ cd old-repository.git
    $ git push --mirror https://hostname/exampleuser/new-repository.git
  4. Remova o repositório local temporário que você criou na etapa 1.

    $ cd ..
    $ rm -rf old-repository.git

Espelhar um repositório que contém objetos do Git Large File Storage

  1. Open TerminalTerminalGit Bash.

  2. Crie um clone bare do repositório. Substitua o exemplo de nome de usuário pelo nome da pessoa ou da organização a quem pertence o repositório e substitua o exemplo de nome de repositório pelo nome do repositório que você deseja duplicar.

    $ git clone --bare https://hostname/exampleuser/old-repository.git
  3. Navegue até o repositório que você acabou de clonar.

    $ cd old-repository.git
  4. Extraia os objetos do Git Large File Storage do repositório.

    $ git lfs fetch --all
  5. Faça espelhamento/push no novo repositório.

    $ git push --mirror https://hostname/exampleuser/new-repository.git
  6. Faça push nos objetos do Git Large File Storage do repositório no seu espelho.

    $ git lfs push --all https://github.com/exampleuser/new-repository.git
  7. Remova o repositório local temporário que você criou na etapa 1.

    $ cd ..
    $ rm -rf old-repository.git

Espelhar um repositório em outro local

Se você deseja espelhar um repositório em outro local e ainda obter atualizações do original, é possível clonar um espelho e fazer push das alterações periodicamente.

  1. Open TerminalTerminalGit Bash.

  2. Crie um clone bare espelhado do repositório.

    $ git clone --mirror https://hostname/exampleuser/repository-to-mirror.git
  3. Defina o local de push no espelho.

    $ cd repository-to-mirror.git
    $ git remote set-url --push origin https://hostname/exampleuser/mirrored

Assim como um clone bare, um clone espelhado inclui todos os branches remotes e tags, mas todas as referências locais serão substituídas todas as vezes que você fizer fetch, assim ele sempre será o mesmo do repositório original. O push no espelho é simplificado pela configuração da URL para pushes. Para atualizar o espelho, obtenha atualizações e faça push.

$ git fetch -p origin
$ git push --mirror

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato