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.

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 your GitHub Enterprise Server instance. Nesses exemplos, exampleuser/new-repository ou exampleuser/mirrored são os espelhos.

Espelhar um repositório

  1. Abra 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 anteriormente.
    $ cd ..
    $ rm -rf old-repository.git

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

  1. Abra 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 anteriormente.
    $ 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. Abra 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

Esse documento ajudou você?

Privacy policy

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.