Git-to-Git: Migração Manual de Repositórios

Recentemente tive a necessidade de fazer uma migração de repositórios Git na empresa em que eu trabalho (TFS Git para Gitlab). Apesar de as ferramentas atuais já fornecerem algumas funcionalidades para fazer isso de maneira intuitiva (pela UI, por exemplo), precisei fazer isso manualmente.

A migração Git-to-Git é extremamente simples (ao contrário do cenário TFS (TFVC) para Git). Basta clonar (mirror) o repositório origem, remover a referência antiga(origin), adicionar a nova e fazer o pull.

Para exemplificar, fiz uma migração de Gitlab para AzureDevOps. O procedimento abaixo migra todos os branches, histórico (commits) e tags:

Repositório Origem (Gitlab): https://gitlab.com/Marcel_Goldhardt/test1.git
Repositório Destino (Azure DevOps): https://dev.azure.com/ocaradoazure/migration/_git/migration

git clone --mirror https://gitlab.dell.com/Marcel_Goldhardt/test1.git .
git fetch --tags --all
git remote rm origin
git remote add origin https://dev.azure.com/ocaradoazure/migration/_git/migration
git push origin --all
git push --tags
Origem: Repositório no Gitlab
Destino: Repositório no Azure DevOps

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.