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/`](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](https://git-scm.com/docs/git-http-backend). 2. Consulter rapidement le dépôt et le sources dans un navigateur grâce à l'interface web [cgit](https://git.zx2c4.com/cgit/about/). 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](ssh), depuis un ordinateur personnel (remplacer `` par votre **identifiant** et `` par le nom que vous voulez donner au dépôt) : ssh @club1.fr git init --bare git/ Dès lors, le dépôt est publié en _lecture seule_ à l'adresse `https://git.club1.fr//`, 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 @club1.fr tee git//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 @club1.fr tee git//description Il y a ensuite deux cas de figure : - Création d'un nouveau dépôt - Publication d'un dépôt existant ### Création d'un nouveau dépôt Si le but est de créer un nouveau dépôt, alors le plus simple consiste à cloner celui-ci sur votre ordinateur personnel. On utilise pour cela l'adresse [SSH](ssh) car elle offre un accès en écriture au dépôt : git clone @club1.fr:git/ 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 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 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 @club1:git/ git push --set-upstream club1 main