Utilizar varios repositorios remotos con Git

2019-04-30

Índice

  1. Añadir repositorio remoto
  2. Trabajando con repositorios remotos
    1. Ver repositorios remotos
    2. Renombrar repositorios
    3. Eliminar repositorio remoto
  3. Información de los repositorios
  4. Trabajando con repositorios
    1. push
    2. fetch
    3. Solución al error de negarse a fusionar historias no relacionadas
  5. Referencias

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 [email protected]:hefistion/emacs.d.git

gitlab-emacs.d Es una etiqueta identificativa del repositorio remoto [email protected]:hefistion/emacs.d.git Es la url del repositorio en gitlab

Trabajando con repositorios remotos

Ver repositorios remotos

git remote -v

gitlab	[email protected]:hefistion/emacs.d (fetch)
gitlab	[email protected]:hefistion/emacs.d (push)
origin	ssh://[email protected]:222/carlos/.emacs.d.git (fetch)
origin	ssh://[email protected]: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	[email protected]:hefistion/emacs.d (fetch)
gitlab	[email protected]:hefistion/emacs.d (push)
gogs	ssh://[email protected]:222/carlos/.emacs.d.git (fetch)
gogs	ssh://[email protected]: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: [email protected]:hefistion/emacs.d
     URL para publicar: [email protected]: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


Ingrese la dirección de su instancia