{"meta":{"title":"Duplicar um repositório","intro":"Para manter um espelho de um repositório sem a bifurcação, é possível executar um comando especial de clone e, em seguida, fazer push do espelho para o novo repositório.","product":"Repositórios","breadcrumbs":[{"href":"/pt/repositories","title":"Repositórios"},{"href":"/pt/repositories/creating-and-managing-repositories","title":"Criar e gerenciar repositórios"},{"href":"/pt/repositories/creating-and-managing-repositories/duplicating-a-repository","title":"Duplicar um repositório"}],"documentType":"article"},"body":"# Duplicar um repositório\n\nPara manter um espelho de um repositório sem a bifurcação, é possível executar um comando especial de clone e, em seguida, fazer push do espelho para o novo repositório.\n\n> \\[!NOTE]\n> Caso tenha um projeto hospedado em outro serviço hospedado baseado no Git, você poderá importar automaticamente seu projeto para o GitHub usando a ferramenta GitHub Importer. Para saber mais, confira [Sobre o Importador do GitHub](/pt/migrations/importing-source-code/using-github-importer/about-github-importer).\n\nAntes de efetuar push do repositório original para a nova cópia ou *espelho* do repositório, você precisa [criar o repositório](/pt/repositories/creating-and-managing-repositories/creating-a-new-repository) no GitHub.com. Nesses exemplos, `exampleuser/new-repository` ou `exampleuser/mirrored` são os espelhos.\n\n## Espelhar um repositório\n\n1. Abra <span class=\"platform-mac\">Terminal</span><span class=\"platform-linux\">Terminal</span><span class=\"platform-windows\">Git Bash</span>.\n\n2. Crie um clone bare do repositório.\n\n   ```shell\n   git clone --bare https://github.com/EXAMPLE-USER/OLD-REPOSITORY.git\n   ```\n\n3. Faça espelhamento/push no novo repositório.\n\n   ```shell\n   cd OLD-REPOSITORY\n   git push --mirror https://github.com/EXAMPLE-USER/NEW-REPOSITORY.git\n   ```\n\n4. Remova o repositório local temporário que você criou anteriormente.\n\n   ```shell\n   cd ..\n   rm -rf OLD-REPOSITORY\n   ```\n\n## Espelhar um repositório que contém objetos do Armazenamento de Arquivos Grandes do Git\n\n1. Abra <span class=\"platform-mac\">Terminal</span><span class=\"platform-linux\">Terminal</span><span class=\"platform-windows\">Git Bash</span>.\n\n2. 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.\n\n   ```shell\n   git clone --bare https://github.com/EXAMPLE-USER/OLD-REPOSITORY.git\n   ```\n\n3. Navegue até o repositório que você acabou de clonar.\n\n   ```shell\n   cd OLD-REPOSITORY\n   ```\n\n4. Extraia os objetos Armazenamento de Arquivos Grandes do Git do repositório.\n\n   ```shell\n   git lfs fetch --all\n   ```\n\n5. Faça espelhamento/push no novo repositório.\n\n   ```shell\n   git push --mirror https://github.com/EXAMPLE-USER/NEW-REPOSITORY.git\n   ```\n\n6. Faça push nos objetos do Armazenamento de Arquivos Grandes do Git do repositório no seu espelho.\n\n   ```shell\n   git lfs push --all https://github.com/EXAMPLE-USER/NEW-REPOSITORY.git\n   ```\n\n7. Remova o repositório local temporário que você criou anteriormente.\n\n   ```shell\n   cd ..\n   rm -rf OLD-REPOSITORY\n   ```\n\n## Espelhar um repositório em outro local\n\nSe 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.\n\n1. Abra <span class=\"platform-mac\">Terminal</span><span class=\"platform-linux\">Terminal</span><span class=\"platform-windows\">Git Bash</span>.\n\n2. Crie um clone bare espelhado do repositório.\n\n   ```shell\n   git clone --mirror https://github.com/EXAMPLE-USER/REPOSITORY-TO-MIRROR.git\n   ```\n\n3. Defina o local de push no espelho.\n\n   ```shell\n   cd REPOSITORY-TO-MIRROR\n   git remote set-url --push origin https://github.com/EXAMPLE-USER/MIRRORED\n   ```\n\n   Assim como um clone bare, um clone espelhado inclui todas as ramificações remotas e marcações, 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.\n\n4. Para atualizar o espelho, obtenha atualizações e faça push.\n\n   ```shell\n   git fetch -p origin\n   git push --mirror\n   ```\n\n## Leitura adicional\n\n* [Enviar alterações por push para o GitHub do GitHub Desktop](/pt/desktop/making-changes-in-a-branch/pushing-changes-to-github-from-github-desktop#pushing-changes-to-github)\n* [Sobre o armazenamento de arquivos grandes do Git e o GitHub Desktop](/pt/desktop/configuring-and-customizing-github-desktop/about-git-large-file-storage-and-github-desktop)"}