Supongamos que hemos montado nuestro propio servidor git donde hospedar nuestros repositorios git bare y deseamos duplicar o mover uno de ellos. Este artículo explica cómo hacerlo utilizando la opción --mirror.

El objetivo del artículo consiste en duplicar un repositorio git desde un servidor a otro. Tenemos un repositorio git alojado en un servidor, y deseamos mover o duplicar su contenido a un repositorio git vacío que hemos creado en un servidor nuevo.

Si se dispone de acceso a una shell en ambos servidores, es posible duplicar o mover un repositorio git bare desde un servidor al otro simplemente copiando el directorio, ya sea utilizando scp o directamente un túnel SSH.

Sin embargo, si no contamos con acceso a una shell (sólo SSH a través de git-shell), será necesario recurrir a git. El comando push incluye la opción --mirror la cual permite duplicar un repositorio.

A modo de ejemplo, necesitamos mover el repositorio "linuxito" desde el servidor "repo.linuxito.com" al servidor "www.cliente.com".

Desde una máquina cliente, clonar el repositorio origen:

$ git clone ssh://gituser@repo.linuxito.com:22/var/repo/linuxito.git

Luego cambiar al directorio clonado y ejecutar el comando push --mirror hacia el servidor destino:

$ cd linuxito/
$ git push --mirror ssh://webmaster@www.cliente.com:22/var/repo/linuxito.git

La opción --mirror indica que, en lugar de especificar una a una las referencias a subir, se suban todas las referencias bajo refs/ (lo cual incluye refs/heads/, refs/remotes/, refs/tags/, etc.) duplicando efectivamente el repositorio.

Referencias


Tal vez pueda interesarte


Compartí este artículo