87 votes

Comment configurer un référentiel git existant pour qu'il soit partagé par un groupe UNIX

J'ai un repo git existant (un dépouillé) qui n'a jusqu'à présent pu être écrit que par moi. Je souhaite l’ouvrir à un groupe d’utilisateurs UNIX, foo, afin que tous les membres de foo puissent y accéder. Je suis conscient que je peux facilement mettre en place un nouveau dépôt Git avec:

 git init --bare --shared=group repodir
chgrp -R foo repodir
 

Mais j'ai besoin de l'opération équivalente pour un repo existant .

104voto

David Underhill Points 9356

Essayez ceci pour faire en sorte qu'un référentiel existant dans repodir fonctionne pour les utilisateurs du groupe foo :

 chgrp -R foo repodir                # set the group
chmod -R g+rw repodir               # allow the group to read/write
chmod g+s `find repodir -type d`    # new files get group id of directory
 

Vous devriez probablement aussi définir core.sharedRepository = true dans la configuration du référentiel.

44voto

napalm Points 348

Dans le répertoire repo, exécutez les commandes suivantes:

 git config core.sharedRepository group
chgrp -R foo repodir
chmod -R g+w repodir
 

Edit: Pour remédier à la confusion fréquente, group est un mot clé, vous n'êtes pas censé le remplacer par le nom du groupe.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X