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.
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
-
Abra Terminal (Terminal)Terminal (Terminal)Git Basho terminal.
-
Crie um clone bare do repositório.
$ git clone --bare https://hostname/exampleuser/old-repository.git
-
Faça espelhamento/push no novo repositório.
$ cd old-repository.git $ git push --mirror https://hostname/exampleuser/new-repository.git
-
Remova o repositório local temporário que você criou na etapa 1.
$ cd .. $ rm -rf old-repository.git
Mirroring a repository that contains Git Large File Storage objects
-
Abra Terminal (Terminal)Terminal (Terminal)Git Basho terminal.
-
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
-
Navegue até o repositório que você acabou de clonar.
$ cd old-repository.git
-
Extraia os objetos do Git Large File Storage do repositório.
$ git lfs fetch --all
-
Faça espelhamento/push no novo repositório.
$ git push --mirror https://hostname/exampleuser/new-repository.git
-
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
-
Remova o repositório local temporário que você criou na etapa 1.
$ cd .. $ rm -rf old-repository.git
Mirroring a repository in another location
If you want to mirror a repository in another location, including getting updates from the original, you can clone a mirror and periodically push the changes.
-
Abra Terminal (Terminal)Terminal (Terminal)Git Basho terminal.
-
Crie um clone bare espelhado do repositório.
$ git clone --mirror https://hostname/exampleuser/repository-to-mirror.git
-
Defina o local de push no espelho.
$ cd repository-to-mirror.git $ git remote set-url --push origin https://hostname/exampleuser/mirrored
As with a bare clone, a mirrored clone includes all remote branches and tags, but all local references will be overwritten each time you fetch, so it will always be the same as the original repository. 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