Remotes en Git
Este artículo pretende dejar un par de apuntes de cómo configurar un remote
para un repositorio Git en diferentes escenarios.
Surge a raíz de un problema que mi amigo Oriol Puig | @oriolpuigbuil experimentó hace unos días, donde tuvo la necesidad de configurar un remote
no estándar para un proyecto que está desarrollando actualmente.
Remote estándar (bidireccional)
Un remote de Git, por defecto, se crea de forma bidireccional.
Esto es, se define un mismo repositorio remoto tanto para lectura (fetch
/pull
) como escritura (push
).
Crear este tipo de remotes no es complicado.
Este tipo de remote
permite tanto leer como escribir cambios desde el repositorio local. Nada nuevo para aquellos que usamos o hemos usado Git.
Remote de sólo lectura
No obstante, en alguna ocasión nos puede interesar disponer de un repositorio clonado que sólo pueda ‘leer’ del repositorio remoto.
Para ello, hay que ejecutar los siguientes comandos.
Esta configuración evitará que, por ejemplo, podamos hacer push
por error al repositorio remoto, o que tengamos configurado un repositorio cuya única finalidad es precisamente ser punto de sólo lectura.
Remote de sólo escritura
Igual que en el caso anterior, es posible que pueda interesarnos tener un repositorio clonado que sólo pueda ‘escribir’, de manera que no se puedan sincronizar los cambios desde el mismo en el repositorio clonado.
En este caso, los comandos a ejecutar son los siguientes.
Este escenario permite ignorar completamente los commit
generados en el repositorio remoto, permitiendo publicar, por ejemplo, ramas de trabajo que no serán sincronizadas directamente en nuestro repositorio local en caso de que éstas cambien en remoto.