Dépôts Git publics#

Le dossier git/, à la racine de l’espace personnel est particulier. Les dépôts Git rangés dedans seront automatiquement publiés en lecture seule à l’adresse https://git.club1.fr, par exemple :

https://git.club1.fr/nicolas/dna-backup//home/nicolas/git/dna-backup/

Cette adresse permet 2 choses :

  1. Cloner le dépôt Git avec git clone grâce au git-http-backend.

  2. Consulter rapidement le dépôt et les sources dans un navigateur grâce à l’interface Web fournie par cgit.

Tutoriel d’utilisation#

Pour utiliser la fonctionnalité de dépôts Git publics sur CLUB1, il faut tout d’abord initialiser le dépôt à distance, avec SSH, depuis un ordinateur personnel (remplacer USER par votre identifiant et REPO par le nom que vous voulez donner au dépôt) :

ssh USER@club1.fr git init --bare git/REPO

Dès lors, le dépôt est publié en lecture seule à l’adresse https://git.club1.fr/USER/REPO, mais celui-ci est vide pour le moment. La branche affichée par défaut dans l’interface Web est master. Il est possible de la changer en modifiant le fichier HEAD du dépôt. Par exemple pour la remplacer par la branche main :

echo 'ref: refs/heads/main' | ssh USER@club1.fr sponge git/REPO/HEAD

De la même manière, pour modifier la description du dépôt (cette modification ne sera pas forcément visible tout de suite à cause du cache de cgit) :

echo 'ma super description' | ssh USER@club1.fr sponge git/REPO/description

Il y a ensuite deux cas de figure :

Création d’un nouveau dépôt#

Si le but est de créer un nouveau dépôt, alors le plus simple est de cloner sur votre ordinateur personnel celui qui vient d’être initialisé sur le serveur. On utilise pour cela l’adresse SSH car elle offre un accès en écriture au dépôt :

git clone USER@club1.fr:git/REPO

Note

Un avertissement alertera sur le fait que le dépôt ainsi cloné est vide, ce qui est normal :

warning: You appear to have cloned an empty repository.

Il est désormais possible d’utiliser ce dépôt comme tout autre dépôt Git, par exemple :

cd REPO
echo 'Hello World!' >> README
git add README
git commit -m "add Hello World README"
git push origin

Publication d’un dépôt existant#

Si le but est de publier un dépôt existant, alors il suffit d’ajouter le dépôt distant qui vient d’être initialisé aux remotes et d’y pousser la branche désirée, par exemple pour la branche main (l’option --set-upstream permet d’en faire la remote par défaut pour cette branche) :

git remote add club1 USER@club1.fr:git/REPO
git push --set-upstream club1 main

Logiciels#

Git#

Logiciel de gestion de versions décentralisé. — Wikipedia, Sources

cgit#

Interface Web permettant de consulter les informations d’un dépôt Git.

Chez CLUB1, cgit et accessible à travers le serveur HTTP Apache. — Sources