1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
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.md), depuis un ordinateur personnel
(remplacer `<login>` par votre **identifiant** et `<repo>` par le nom que vous
voulez donner au dépôt) :
ssh <login>@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/<login>/<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 <login>@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 <login>@club1.fr sponge git/<repo>/description
Il y a ensuite deux cas de figure :
- [Création d'un nouveau dépôt](#création-dun-nouveau-dépôt)
- [Publication d'un dépôt existant](#publication-dun-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.md) car elle offre un accès en écriture
au dépôt :
git clone <login>@club1.fr:git/<repo>
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 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 <login>@club1:git/<repo>
git push --set-upstream club1 main
|