Utilizar varios repositorios remotos con Git
Cuando utilizamos git como control de versiones de nuestros proyectos, lo normal es tener un repositorio central donde subir nuestros cambios, ya sea en GitHub, Bitbucket, servidor propio, etc.
Hace poco me he encontrado con la necesidad de tener que mantener dos repositorios diferentes con el mismo código, por ejemplo en Bitbucket (repositorio privado) y en GitHub (repositorio público).
Para conseguirlo, lo que tenemos que hacer es simplemente añadir un remote más.
Por ejemplo, cuando asignamos el remote de Bitbucket, lo hacemos así:
git remote add bitbucket git@bitbucket.org:user/myproject.git |
Para hacer push, utilizamos el siguiente comando:
git push bitbucket master |
Ahora añadimos el repositorio adicional de Github. Utilizaremos también el comando git remote:
git remote add github git@github.com:user/myproject.git |
git@github.com:jonseg/crud-admin-generator.git
Y de nuevo, para hacer push al repositorio de Github utilizamos el siguiente comando:
git push github master |
Personalmente prefiero tener organizados los repositorios remotos separados de esta forma y hacer el push cuando yo quiera.
Hay otra forma de hacerlo que consiste en que cada vez que hagamos un push, se actualicen los cambios al mismo tiempo en los dos repositorios remotos. Para ello, en el momento de añadir el nuevo remote tenemos que indicar los parámetros set-url con la opción –add.
En el siguiente ejemplo añado el repositorio de GitHub. Como no separamos los repositorios remotos por nombre, supongamos que tenemos un único repositorio remoto llamado origin.
git remote set-url --add origin git@github.com:user/myproject.git |
De esta forma, cada vez que hagamos un push, se actualizarán los cambios tanto en Bitbucket como en Github al mismo tiempo.
Te consulto pude realizarlo bien con la segunda opción pero me extraña que cada vez que hago un push me pide contraseña de Bitbucket y usuario y contraseña de Github.Se podrá configurar Git para que incorpore las claves como cuando olo trabajaba con Bitbucket que sólo me lo pedía una vez? Gracias
Simplemente espectacular. Lo probe y todo salio muy bien. En mi caso tengo un proyecto matriz de solo lectura (framework) y dentro de el envio cambios a otro proyecto ya con desarrollo del proyecto hijo.