====== Git ======
Bloc note de commandes concernant Git. Parce que concrètement, j'y vais un peu pif. Faudrait que je lise la doc, un jour.
{{ :informatique:dog-no-ideae.jpg?nolink& 400 | I have no idea what I'm doing}}
Ressources :
* https://tedomum.net/training/git/
* https://forge.tedomum.net/help/topics/git/commands.md
* https://git-scm.com/book/fr/v2
* https://about.gitlab.com/images/press/git-cheat-sheet.pdf
===== Connexion en SSH sous Windows =====
Tout est volé ici : https://www.it-connect.fr/comment-generer-une-paire-de-cles-ssh-et-lutiliser-avec-gitlab/
J'utilise le GitLab de Tedomum avec une authentification SSH. L'authentification par token HTTPS est aussi disponible mais je n'ai vu ça qu'après. OpenSSH est intégré sous Windows 10 et 11.
Générer une clef :
ssh-keygen -t ed25519
Enter file in which to save the key (C:\Users\utilisateur/.ssh/id_ed25519): C:\Users\utilisateur\.ssh\gittedo
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\utilisateur\.ssh\gittedo
Your public key has been saved in C:\Users\utilisateur\.ssh\gittedo.pub
The key fingerprint is:
SHA256:
The key's randomart image is:
+--[ED25519 256]--+
| ..E .o++. o .|
| . .. . oo+= o B |
| . . o+.B *.=|
| o +.B + =o|
| S B . . .|
| + + = . . |
| + + . o |
| . . o o |
| . . |
+----[SHA256]-----+
On met la clef dans le presse papier :
cat C:\Users\utilisateur\.ssh\gittedo.pub | clip
Ajouter la clef privée :
ssh-add C:\Users\utilisateur\.ssh\gittedo
Si d'aventure ''ssh-add'' ne fonctionne pas, vérifier si le service est bien lancé soit par ''services.msc'' soit avec les commandes suivantes (voir [[https://stackoverflow.com/questions/65741816/error-connecting-to-agent-no-such-file-or-directory-adding-key-to-ssh-agent|ce fil sur Stackoverflow]]). Par défaut le service n'est pas lancé :
# Active le service
Get-Service ssh-agent | Set-Service -StartupType Automatic
# Démarre le service
Start-Service ssh-agent
# Vérifie que le service est lancé
Get-Service ssh-agent
Sur GitLab, aller dans Preferences > SSH Keys > Add new key et coller la clef dans le champ ''Key''.
Tenter la connexion :
ssh -T git@forge.tedomum.net
Welcome to GitLab, @yahiko!
Pour que cela fonctionne avec git, il faut aussi indiquer à git la clef privée :
git config --global core.sshCommand "ssh -i C:/users/utilisateur/.ssh/gittedo"
===== Initialiser un projet =====
git config --global user.name "Username"
git config --global user.email mail@domaine.tld
cd dossier_du_projet
git init
git remote add origin git@forge.tedomum.net:utilisateur/projet.git
On vérifie
git remote -v
On change la branche
git branch -M main
===== Ajouter les fichiers au dépot =====
cd dossier_du_projet
git add [dossier ou fichier]
git commit -m "Commentaire"
git push
Pour le premier envoi j'ai fait :
git add .
git commit -m "Version initiale"
git push --set-upstream origin main
Lors du premier envoi :
git push --set-upstream git@forge.tedomum.net:utilisateur/projet.git main
Si problème lors du push :
git pull --rebase origin main
git push --set-upstream origin main
{{ :informatique:dog-sweat.gif?nolink |}}
===== Git pull =====
Pour récupérer le projet sur un autre machine
mkdir dossier && cd dossier
git init
git pull git@forge.tedomum.net:utilisateur/projet.git