Utilizar varios repositorios remotos con Git

Introducción

En mi flujo de trabajo utilizo un servidor local, gogs, para el versionado de mis ficheros de configuración, notas de org-mode, etc.

Además, utilizo gitlab para mantener ese mismo código, por lo que al final estoy manteniendo el versionando de los mismos ficheros en dos servidores diferentes.

Añadir repositorio remoto

La forma de trabajar es muy sencilla, simplmente debes añadir un nuevo repositorio remoto, por ejemplo yo voy añadir mi repositorio en gitlab

git remote add gitlab-emacs.d git@gitlab.com:hefistion/emacs.d.git

gitlab-emacs.d Es una etiqueta identificativa del repositorio remoto git@gitlab.com:hefistion/emacs.d.git Es la url del repositorio en gitlab

Trabajando con repositorios remotos

Ver repositorios remotos

git remote -v

gitlab	git@gitlab.com:hefistion/emacs.d (fetch)
gitlab	git@gitlab.com:hefistion/emacs.d (push)
origin	ssh://git@192.168.1.3:222/carlos/.emacs.d.git (fetch)
origin	ssh://git@192.168.1.3:222/carlos/.emacs.d.git (push)

Vemos que tengo configurados dos servidores remotos, origin (servidor local con gogs) y el que acabo de añadir, al que he etiquetado como gitlab

Renombrar repositorios

Si quiero cambiar de nombre a un repositorio, por ejemplo origin a gogs

git remote rename origin gogs

Comprobamos como se ha cambiado de nombre


git remote -v
gitlab	git@gitlab.com:hefistion/emacs.d (fetch)
gitlab	git@gitlab.com:hefistion/emacs.d (push)
gogs	ssh://git@192.168.1.3:222/carlos/.emacs.d.git (fetch)
gogs	ssh://git@192.168.1.3:222/carlos/.emacs.d.git (push)

Eliminar repositorio remoto

git remote remove gitlab

Información de los repositorios

Para obtener información de de los repositorios remotos


git remote show gitlab
   * remoto gitlab
     URL  para obtener: git@gitlab.com:hefistion/emacs.d
     URL para publicar: git@gitlab.com:hefistion/emacs.d
     Rama HEAD: master
     Rama remota:
       master rastreada
     Referencia local configurada para 'git push':
       master publica a master (puede realizar fast-forward)

Trabajando con repositorios

push

Para realizar un push a un repositorio remoto

git push gitlab master

fetch

Para descargar un repositorio

git fetch gitlab

Solución al error de negarse a fusionar historias no relacionadas

git pull gitlab master --allow-unrelated-histories

Espero que te haya gustado, pasa un buen día

Referencias

:
Categorías: git