Gérer ses dépôt avec le service GIT (gitolite)

mercredi 31 octobre 2012, par Philippe Depouilly

Service de dépôt et de gestion de version git avec gitolite (en cours de migration sur PLMlab)

Service en cours de migration sur PLMlab, voir la nouvelle page

Le service GIT de la PLM est géré par l’outil gitolite qui offre des fonctionnalités d’administration et de configuration en ligne de commande.

L’interface graphique de Gestion de Versions permet de créer et administrer vos dépôts.

Vous devrez néanmoins passer par la ligne de commande pour gérer l’envoi de mails à chaque commit et pour rendre un dépôt accessible de façon anonyme.

 Créer son dépôt

Une fois une clé publique SSH déposée sur votre compte PLM vous pouvez très simplement créer un premier dépôt avec la commande suivante :

git clone git@git.math.cnrs.fr:plm/mon_login/un-nom-de-depot

  • le nom du dépôt est obligatoirement préfixé par plm/votre_login
  • le nom du dépôt DOIT commencer par une lettre et ensuite seul les lettres, les chiffres et les caractères . - et _ sont autorisés (par exemple : mon_article-2.1 est valide)

 Initialiser son dépôt

Un dépôt créé par la commande clone doit être impérativement initialisé pour être utilisable. Pour cela, allez dans le dossier de votre dépôt, ajoutez un fichier et poussez vers le serveur git de la façon suivante :

touch Readme.txt # Ou tout autre premier fichier
git add Readme.txt
git commit -m'intitialisation du depot'
git push origin master

C’est la commande git push origin master qui va pouvoir initialiser une première branche dans le dépôt

 Gérer les accès pour les collaborateurs

Le dépôt une fois créé, vous pouvez inviter les collaborateurs de votre choix soit avec des droits d’écriture ou simplement de lecture (les droits s’appliquent toujours sur la globalité du dépôt) :

ssh git@git.math.cnrs.fr perms plm/mon_login/le-depot + WRITERS mon-collegue
ou bien :
ssh git@git.math.cnrs.fr perms plm/mon_login/le-depot + READERS mon-collegue

mon-collegue est un login (identifiant) de la PLM. Pour collaborer avec des personnes extérieurs, invitez-les via le service d’Invitation, vous pourrez aussi y retrouver tous les identifiants de la PLM.

Pour retirer les droits à une personne :

  • ssh git@git.math.cnrs.fr perms plm/mon_login/le-depot - WRITERS mon-collegue

Pour lister les droits :

  • ssh git@git.math.cnrs.fr perms plm/mon_login/le-depot -l

 Accès via HTTPS

GIT est aussi accessible via HTTPS sous la forme :

git clone https://mon_login@git.math.cnrs.fr/git/plm/mon_login/le-depot

Remarques :

  • l’accès via HTTPS ne se fait bien-sûr qu’avec identifiant et mot de passe
  • La gestion des droits ne peut pas se gérer via HTTPS

 Accès anonyme

En ajoutant l’utilisateur daemon en lecture seule, votre dépôt devient accessible (clonable) via HTTPS (uniquement)

ssh git@git.math.cnrs.fr perms plm/mon_login/le-depot + READERS daemon

L’URL d’accès anonyme est alors :

git clone https://daemon@git.math.cnrs.fr/anon/plm/mon_login/le-depot

 Gérer des envois de mail à chaque commit

Le hook mailinglist permet de lister des adresses électroniques qui recevront des messages à chaque commit :

ssh git@git.math.cnrs.fr config plm/mon_login/le-depot --replace-all hooks.mailinglist mail1@univ1.fr,mail2@univ2.fr,mail3@univ3.fr

Important :

  • les adresses mails sont séparées par des virgules et sans espace !
  • utilisez plutôt --replace-all que --add, car si vous exécutez plusieurs fois --add, la configuration du hook se dupliquera et git push ne fonctionnera plus.

Le préfixe par défaut inséré dans le sujet des emails est [GIT plm/mon_login/le-depot].

  • vous pouvez le changer avec la commande : ssh git@git.math.cnrs.fr config plm/mon_login/le-depot --replace-all hooks.emailprefix 'NOUVEAU_PREFIXE'
  • et revenir au préfixe par défaut avec la commande ssh git@git.math.cnrs.fr config plm/mon_login/le-depot --unset-all hooks.emailprefix

 FAQ

La commande git clone git git.math.cnrs.fr me demande un mot de passe :
il est probable que sur votre poste client vous ne présentiez pas par défaut la clé privée correspondant à la clé publique ssh que vous avez
déposé, pour cela vous devez configurer le fichier ~/.ssh/config de la façon suivante :

Host git.math.cnrs.fr
# Hostname=GitPLM
IdentityFile=~/.ssh/ma_cle_privée

Pour plus d’informations, voir la documentation correspondante

SPIP | | Plan du site | Suivre la vie du site RSS 2.0
Habillage visuel © digitalnature sous Licence GPL