Ir a contenido
Está usando una versión antigua de su navegador. Este sitio web no está preparado para su visualización en navegadores obsoletos.
Por favor, por su seguridad, instale un navegador más actualizado y seguro.

Navegador Internet Explorer 8  Navegador Google Chrome  Navegador Mozilla Firefox
 

blog

24 jul

Git para repositorios compartidos

0 comentarios how-to , Programación , Git

Una de las grandes ventajas de Git es su potencia para el trabajo en grupo. Para poder usar Git de esta forma basta con un par de comandos para configurar el repositorio de forma que permita escribir a los usuarios autorizados.

 

Lo primero es crear los usuarios autorizados para que puedan conectar por SSH (es el método de conexión que utilizo en mis repositorios, por comodidad de configuración), y añadirlos a un grupo que será el que esté autorizado para escribir en el repositorio. Yo utilizo el grupo git-user para ello.

 

Después, ya sólo nos falta configurar el repositorio para permitir el acceso compartido. Para ello basta con cambiar el contenido del repositorio al grupo autorizado, y configurar el parámetro adecuado del repositorio:

 

$ cd /var/git/mirepositorio.git
$ sudo chmod -R g+ws *
$ sudo chgrp -R git-user *
$ git repo-config core.sharedRepository group

 

El último comando configura el repositor para el uso compartido por varios usuarios pertenecientes a un mismo grupo. Este grupo es el tienen asignados los objetos del repositorio, y hay que asegurarse de que todos los archivos y objetos pueden ser escritos por ese grupo (los dos comandos anteriores).

 

También se podría haber usado el parámetro world:

 

$ git repo-config core.sharedRepository world

 

Esto haría el repositorio visible a todo el mundo, lo cual es mucho más inseguro y sólo debe usarse cuando el sistema operativo no permita que los nuevos directorios creados tengan el grupo adecuado (NetBSD por ejemplo).

 

Cuando ya tenemos un repositorio personal, y queremos dar acceso a otros usuarios, lo más probable es que los usuarios vean este error al hacer un push:

 

Insufficient permission for adding an object to repository database

 

La forma de solucionarlo es ejecutando los comandos indicados anteriormente, ya que por defecto el repositorio de Git está configurado para no ser compartido (core.sharedRepository = false).



Comentarios


Aún no hay comentarios.

Añade un nuevo comentario







 Enviando, por favor, espera...
Debes rellenar todos los campos.

Nunca haré público tu email, sólo se requiere a efectos estadísticos.

Comentarios malsonantes, con insultos, racistas, homófobos o con malas intenciones serán eliminados.

¡Muchas gracias por participar!


Ver blog

Creative Commons License Esta web http://alvaroremesal.net , su contenido, texto e imágenes está licenciado bajo una Licencia Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0 España.

2017 - Álvaro Remesal Royo   Avisos legales

logo-acms