Blog personal donde guardo mis notas sobre tecnología

Utilizar varios repositorios remotos con Git

Carlos M.

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 #