Este é um problema bastante comum com o git, e existem várias respostas, mas a maioria delas envolve a criação e execução de um script bash ou o check-out manual de cada branch. Aqui está uma maneira de fazer isso puramente por meio de comandos git simples:
mkdir repo
cd repo
git clone --bare path/to/repo.git .git
git config unset core.bare
git reset --hard
Neste ponto, você tem uma cópia completa do repositório remoto com todos os seus branches (verifique com git branch
). Você pode usar em --mirror
vez de --bare
se o seu repo remoto tiver controles remotos próprios.