marqueta.org

You can't always apt-get what you want</br> Infosec - Cycling - Estudiantes</br> RHCE / RHCSA</br> Once a sysadmin, always a sysadmin


Mover un repo de Bitbucket a Github

Antes de preguntar “¿cómo?” la primera pregunta es ¿por qué? Realmente no hay una razón que me obligue a hacerlo. Se trata simplemente de que tengo varios repositorios desperdigados en distintos servicios y con distintas cuentas y estoy en fase de pasar la escoba y hacer un poco de limpieza.

Personalmente me gusta Bitbucket; aunque no hago un uso ni mucho menos intensivo de la herramienta, estoy acostumbrado a utilizarla en el trabajo integrada con otros productos de Atlassian (como Jira o Confluence). Pero para proyectos personales es demasiado y puedo prescindir de todas esas funcionalidades extra.

Dicho esto, ¿por dónde empezar? Lo primero es crear un nuevo respositorio vacío en Github (es decir, ni README, ni .gitignore, ni licencia ni nada de nada)

Asumimos que el repo actual en Bitbucket está actualizado (y, si no, lo ponemos al día). Hecho esto, añadimos el nuevo repositorio como remote a nuestro directorio de trabajo:

git remote add new-remote git@github.com:USERNAME/REPONAME.git
git push new-remote master
git push --tags new-remote

Hecho eso, y tras comprobar que todo está en orden, me cargo el remote viejo y dejo este como “remote”. No sé si se pueden renombrar así que lo hago a lo bruto:

git remote rm new-origin
git remote rm origin
git remote add origin git@github.com:USERNAME/REPONAME.git

Evidentemente, si hay algún automatismo que tire del repositorio no olvidar actualizarlo. En mi caso es necesario añadir las correspondientes deploy keys y modificar los scripts que usan los repos.

Esto último puede implicar un pasito interesante para ver en este otro post.