====== 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