Dépôts GIT personnels

De Service Informatique de l'Institut Galilée
Aller à la navigation Aller à la recherche

Git

Le logiciel GIT est installé sous Linux dans les salles de TP. La commande git permet à un utilisateur de créer des dépôts et d'y accéder ensuite localement, ou à distance par le protocole ssh.

De plus, pour plus de facilité d'accès et pour permettre de partager un dépôt entre plusieurs utilisateurs choisis, les protocoles http et https peuvent également être utilisés.

Localisation des dépôts accessibles par HTTP(S)

Pour qu'un dépôt soit accessible par HTTP ou HTTPS, il faut obligatoirement qu'il se trouve dans un sous-répertoire de $HOME/git, où $HOME est le répertoire de l'utilisateur qui le possède.

Création d'un dépôt accessible par HTTP(S)

De plus, le répertoire du dépôt doit contenir un fichier spécial git-http-backend qui permet au serveur web d'exécuter les commandes de GIT au nom de l'utilisateur qui possède le dépôt, ainsi que des fichiers pour gérer les droits d'accès au dépôt.

Pour faciliter la mise-en-place d'un dépôt accessible par HTTP(S), l'utilisateur peut lancer la commande git-http-prepare, qui prend pour argument le nom du dépôt à créer.

Exemple :

git-http-prepare premier_depot

Cette commande crée un dépôt dans $HOME/git/premier_depot et ajoute les fichiers suivants pour les droits d'accès :

  • .htaccess
  • .htgroups
  • .htpasswd

Des fichiers de description sont également créés :

  • description
  • category

S'il y avait déjà un dépôt dans ce répertoire, la commande ne fait qu'ajouter les fichiers pour les droits d'accès.

Accès à un dépôt par HTTP(S)

Le dépôt premier_depot d'un utilisateur lambda (où lambda est l'identifiant de connexion de l'utilisateur) peut être cloné par la commande :

git clone https://etudiants.ig-edu.univ-paris13.fr/~lambda/git/premier_depot

Si un message d'erreur survient, il se peut qu'il faille faire précéder la commande par GIT_SSL_NO_VERIFY=1 :

GIT_SSL_NO_VERIFY=1 git clone https://etudiants.ig-edu.univ-paris13.fr/~lambda/git/premier_depot

La variable GIT_SSL_NO_VERIFY=1 doit alors être utilisée pour toutes les commandes de GIT qui communiquent avec le serveur.