Movendo um repositório do BitBucket para o GitHub (ou vice-versa)

Utilizo o BitBucket há algum tempo por causa da possibilidade de criar repositórios privados grátis sem muita complicação, e também por ele ter integração com o Codeship (ainda pretendo escrever um post sobre ele). Mas decidi abrir alguns dos meus projetos particulares após começar a participar da comunidade um pouco mais ativamente. Por isso, optei por mover esses projetos abertos para o GitHub devido à maior popularidade deste para projetos opensource. Pensei que teria dificuldade, que seria muito complicado transferir todo o histórico de commits e etc, mas é uma tarefa muito mais simples do que parece.

Primeiro de tudo é preciso criar o novo repositório no GitHub. Dentro da sua página de perfil, abra a aba "Repositories" e clique no botão "New". Assim:

Criando repositório no GitHub

Tenha o cuidado de desmarcar a opção "Initialize this repository with a README" enquanto cria o repositório. Dessa forma, o GitHub vai criar um repositório totalmente vazio.

Depois, copie a URL do repositório criado. Dentro da pasta onde você já possui o projeto hospedado no BitBucket clonado, execute os seguintes comandos:

$ git remote rename origin bitbucket
$ git remote add origin <URL do repositório criado>
$ git push origin master

Pronto! Todo o repositório do BitBucket vai ser copiado para o GitHub, inclusive mantendo o histórico de commits. Se desejar remover totalmente o projeto do BitBucket, execute também:

$ git remote rm bitbucket

É possível também fazer o processo inverso, movendo um projeto do GitHub para o BitBucket. Basta inverter a ordem dos repositórios utilizados.

Não cheguei a testar, mas acho que esses comandos funcionam para migrar para qualquer outro repositório Git (GitHub, BitBucket, GitLab, etc).

Se tiver interesse, confere lá o meu perfil no GitHub e no BitBucket pra ver alguns projetos que eu desenvolvi! Sinta-se a vontade para fazer forks! Se ver alguma coisa que possa melhorar, manda um pull request!

comments powered by Disqus