Utilizar varios repositorios remotos con Git

junio 13, 2014

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.

Tags ; , , , ,

2 comentarios

    Contrera Gustavo A Jul 06, 2017

    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

    Responder
    Andres Nov 16, 2019

    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.

    Responder

Escribe un comentario

Los comentarios son moderados y se utiliza rel="nofollow" para los enlaces.