Utilisation de la forge
Pour créer des projets git sur repo.infohers.org est d'abord de créer
une clé ssh dédiée:
ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/YOURNAME -C "YOURNAME@student.hers.be"
Vous obtenez deux clés, dont une publique à transmettre à
$ cat ~/.ssh/YOURNAME.pub ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFcUP4erZG0FIPNI/h2SuryyEaHHW6TmuA2o2J8GYD58 YOURNAME@student.hers.be
Vous disposez alors d'un accès via l'utilisateur git:
$ ssh git@repo.infohers.org -i /tmp/YOURNAME
PTY allocation request failed on channel 0
hello YOURNAME, this is git@ov-9885b1 running gitolite3 v3.6.14-3-g4d2611d on git 2.47.3
C collab/CREATOR/[a-zA-Z0-9_-]+
C user/CREATOR/[a-zA-Z0-9_-]+
Vous pouvez créer des dépôt git dans:
repo.infohers.org:user/YOURNAME/REPONAME.git ou
repo.infohers.org:collab/YOURNAME/REPONAME.git
Les différences sont les droits attribués aux différents dépôts.
Pour ceux situés dans
user/YOURNAME/.Vous pouvez définir des
WRITERSqui auront tous les droits sur les branchesUSER/(dontpush --force) et sur les tags nomméUSER/(oùUSERsera remplacé par le nom d'utilisateur).Pour ceux situés dans
collab/YOURNAME/.Vous pouvez définir des
WRITERSqui auront les droitspush(sans--force) dans toutes les branches sauf la branchemain.
Vous pouvez accéder à la documentation des différentes commandes possible via:
ssh git@repo.infohers.org -i /tmp/YOURNAME help
Création d'un dépôt: il suffit de le cloner.
Assurez-vous que la branche par défaut des nouveaux dépôts est bien
main.git config --global init.defaultBranch main
Créez un dépôt
GIT_SSH_COMMAND="git -i ~/.ssh/YOURNAME" git clone git@repo.infohers.org:user/YOURNAME/myrepo
Pour ne pas devoir spécifier
GIT_SSH_COMMAND, vous pouvez modifier votre~/.ssh/config.Host repo.infohers.org User git Hostname repo.infohers.org Port 22 IdentityFile ~/.ssh/YOURNAMEVous pouvez faire simplement:
git clone repo.infohers.org:user/YOURNAME/myrepo
Configuration de votre dépôt git.
Voici quelques commandes recommandées pour configurer votre projet
git.git config user.name "Prénom Nom" git config user.email "USERNAME@student.hers.be" git config gpg.format ssh # utilise la clé ssh pour signer vos commit git config user.signingkey "~/.ssh/VOTRE_CLE.pub" # la clé ssh utilisée pour signer les commits git config commit.gpgsign true # signe les commits par défaut git config tag.gpgsign true # signe les tags par défaut
Ces commandes sont à exécutées dans chaque nouveau dépôt
git. Vous pouvez utiliser l'option--global, mais sachez que ces valeurs seront les valeurs par défaut. Si vous travailler en stage, notez que votre email est votre clé peuvent être différentes, vous devrez alors saisir les commandes ci-haut adaptées.Rajouter des utilisateurs.
Pour rajouter des utilisateurs, de l'aide est disponible via:
ssh repo.infohers.org perms
Pour rajouter un utilisateur avec les permissions en écriture:
ssh repo.infohers.org perms user/YOURNAME/myrepo + WRITERS OTHERUSER
Pour rajouter un utilisateur avec les permissions en lecture:
ssh repo.infohers.org perms user/YOURNAME/myrepo + READERS OTHEROTHERUSER
Pour obtenu une liste des droits déjà présents:
ssh repo.infohers.org perms user/YOURNAME/myrepo -l