Faz alguns anos que comecei a trabalhar com git e na época escolhi o Unfuddle como serviço para meus repositórios privados e de clientes. Atualmente estou usando o Bitbucket para repositórios privados e o Github para projetos open-source, mas ainda tem alguns repositórios “legados” no antigo serviço.
Ontem retomei um projeto de uns dois anos atrás que estava no unfuddle e resolvi migrar para o bitbucket, mas como fazer esta migração mantendo todo o histórico de commit e branches do repositório?
Como migrar um repositório git sem perder seu histórico?
O primeiro passo é fazer o clone do repositório original, para pegar todas as informações necessárias:
git clone url-do-repositorio.git
Agora você tem todos os arquivos e históricos do repositório no seu repositório git local. Vamos remover o repositório remoto (no meu caso, o unfuddle). Neste exemplo o nome do repositório remoto é “origin”, substitua se necessário.
git remote rm origin
Agora vamos adicionar o novo repositório remoto (no meu caso, o do bitbucket):
git remote add origin [email protected]:gserrano/meurepositorio.git
Para finalizar, vamos dar um push de todos os dados do seu repositório local (recuperados do seu antigo repositório remoto) para o novo repositório remoto:
git push -u origin --all git push -u origin --tags
Pronto, assim você não perde o histórico do seus repositórios GIT e tem liberdade para migrar de serviço se necessário.
Você também pode gostar:
Boa tarde, sua dica funcionou, só não levou as branchs, somete a master. Tem como levar tudo?
So dar checkout em todos os branchs que voce que levar antes de remover os branchs remote executando o git remote rm origin .
🤩👏👏👏