Este é um repo básico para uma nova localização. Eu uso essa sequência o tempo todo. Com --bare, nenhum arquivo de origem será visto.
Abra o Git Bash.
Crie um clone simples do repositório.
git clone --bare https://github.com/exampleuser/old-repository.git
Envio de espelho para o novo repositório.
cd old-repository.git
git push --mirror 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
Por que espelho? Consulte a documentação do git: https://git-scm.com/docs/git-push
--all Empurre todos os ramos (ie refs sob refs / heads /); não pode ser usado com outro.
--mirror Em vez de nomear cada ref para push, especifica que todos os refs em refs / (que incluem, mas não se limitam a refs / heads /, refs / remotes / e refs / tags /) sejam espelhados no repositório remoto. As refs locais recém-criadas serão enviadas para a extremidade remota, as refs atualizadas localmente serão atualizadas à força na extremidade remota e as refs excluídas serão removidas da extremidade remota. Esse é o padrão se a opção de configuração remote..mirror estiver configurada.