mercredi 31 octobre 2012, par
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.
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
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 masterC’est la commande git push origin master qui va pouvoir initialiser une première branche dans le dépôt
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-colleguePour lister les droits :
ssh git@git.math.cnrs.fr perms plm/mon_login/le-depot -lGIT est aussi accessible via HTTPS sous la forme :
git clone https://mon_login@git.math.cnrs.fr/git/plm/mon_login/le-depot
Remarques :
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
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 :
--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].
ssh git@git.math.cnrs.fr config plm/mon_login/le-depot --replace-all hooks.emailprefix 'NOUVEAU_PREFIXE'ssh git@git.math.cnrs.fr config plm/mon_login/le-depot --unset-all hooks.emailprefixLa 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éePour plus d’informations, voir la documentation correspondante