Sans config
git commit -m "test"# Author: unknown <unknown>git push# Username for 'https://github.com':Un Git mal configuré est la cause n°1 des erreurs débutant :
Author: unknown <unknown@unknown>),master au lieu de main,vim qui se bloque sans savoir comment quitter).5 minutes de configuration aujourd’hui vous évitent des heures de debugging.
Sans config
git commit -m "test"# Author: unknown <unknown>git push# Username for 'https://github.com':Avec config
git commit -m "feat: add login"# Author: Aïda Diallo <aida@hashcode.co>git push# → push instantané via SSH/ghChoisissez votre système d’exploitation. Une seule section vous concerne :
.exe — gardez les options par défaut :
mainwinget install --id Git.Git -e --source wingetOuvrez PowerShell ou Git Bash :
git --version# git version 2.45.1.windows.1where git# C:\Program Files\Git\cmd\git.exegit --help# Installe Homebrew si absent : https://brew.shbrew install gitgit --version# git version 2.45.2which git# /opt/homebrew/bin/git (Apple Silicon) ou /usr/local/bin/git (Intel)macOS inclut Git via Xcode. Tapez :
git --versionSi absent, macOS propose d’installer les Command Line Tools → Acceptez. Vérifiez ensuite :
xcode-select --installbrew upgrade gitgit config --global credential.helper osxkeychainsudo apt updatesudo apt install git -ygit --versionsudo dnf install git -ysudo pacman -S gitgit --version# git version 2.43.0# Option simple et universelle (token stocké en clair dans ~/.git-credentials, chmod 600) :git config --global credential.helper store# Alternative plus sûre : Git Credential Manager (https://github.com/git-ecosystem/git-credential-manager)# ou libsecret (nécessite une compilation depuis /usr/share/doc/git/contrib/credential/libsecret)Commandes à exécuter
Git lit ses paramètres dans 3 fichiers en cascade (le plus précis gagne) :
<pre dir="ltr" class="mermaid">flowchart LR A[system<br/>/etc/gitconfig<br/>tous les users] --> B[global<br/>~/.gitconfig<br/>vous seul] B --> C[local<br/>.git/config<br/>un dépôt] C --> D[Commande effective]</pre>| Niveau | Fichier | Commande | Portée |
|---|---|---|---|
system |
/etc/gitconfig |
git config --system |
Tous les utilisateurs de la machine |
global |
~/.gitconfig |
git config --global |
Vous sur tous vos dépôts |
local |
.git/config |
git config --local |
Un seul dépôt |
git config --list --show-origin# file:/home/aida/.gitconfig user.name=Aïda Diallo# file:/home/aida/.gitconfig user.email=aida@hashcode.co# file:.git/config core.repositoryformatversion=0C’est obligatoire avant votre premier commit. Sans cela chaque git commit échouera ou créera un auteur vide.
Commandes à exécuter
# Voir le dernier auteurgit log -1 --pretty=format:"%an <%ae>"
# Corriger uniquement le dernier commitgit commit --amend --reset-author --no-edit
# Corriger la config pour le futurgit config --global user.email "bonne.adresse@hashcode.co"Le login/mot de passe GitHub n’existe plus depuis 2021. Deux méthodes modernes :
git push sans mot de passe)Commandes à exécuter
cat ~/.ssh/id_ed25519.pub 2. GitHub → Settings → SSH and GPG keys →
New SSH key → Collez 3. Testez ssh -T git@github.comSi vous voyez permission denied, vérifiez ssh-add ~/.ssh/id_ed25519 et eval "$(ssh-agent -s)".
gh (utile pour PR/Issues depuis le terminal)# Installation# Windows: winget install --id GitHub.cli# macOS: brew install gh# Linux: sudo apt install gh
gh auth login# → GitHub.com → HTTPS → Yes → Paste an authentication token → …
gh auth status# github.com# ✓ Logged in to github.com account Aida (credential.helper=store)
gh repo clone joinhashcode/workshopsgh pr view --webSSH
Idéal pour git clone git@github.com:..., push sans token, CI.
GH CLI
Idéal pour gh pr create, gh issue list, gh repo view, gh codespace.
git config --global alias.st statusgit config --global alias.co checkoutgit config --global alias.sw switchgit config --global alias.br branchgit config --global alias.lg "log --oneline --graph --all --decorate"git config --global alias.last "log -1 --stat"Testez :
git stgit lggit lastgit config --global color.ui autogit config --global color.branch autogit config --global color.diff auto| OS | Commande |
|---|---|
| Windows | git config --global credential.helper manager (GCM) |
| macOS | git config --global credential.helper osxkeychain |
| Linux | git config --global credential.helper store ou GCM |
Vérifiez le helper actif :
git config --global --get credential.helper~/.gitconfig final attendu[user] name = Aïda Diallo email = aida@hashcode.co[init] defaultBranch = main[core] editor = code --wait[alias] st = status co = checkout lg = log --oneline --graph --all --decorate[color] ui = auto[credential] helper = osxkeychainInspectez avec cat ~/.gitconfig ou git config --global --edit.
Quelle commande vérifie que Git est correctement installé ?
Cliquer pour révéler la réponsegit --version (et which git / where git pour le chemin)
Cliquer pour voir la questionQuels sont les 3 niveaux de config Git et leur ordre de priorité ?
Cliquer pour révéler la réponsesystem (/etc/gitconfig) → global (~/.gitconfig) → local (.git/config). local gagne.
Cliquer pour voir la questionÀ quoi sert --global dans git config ?
Cliquer pour révéler la réponseApplique le paramètre à tous les dépôts de l'utilisateur courant (~/.gitconfig). Sans, il faut spécifier --local ou --system.
Cliquer pour voir la questionQuelles 2 infos sont obligatoires avant le premier commit ?
Cliquer pour révéler la réponseuser.name et user.email (identité de l'auteur du commit).
Cliquer pour voir la questionQuelle commande génère une clé SSH moderne ?
Cliquer pour révéler la réponsessh-keygen -t ed25519 -C 'email@exemple.com'
Cliquer pour voir la questionQuelle commande teste l'auth SSH GitHub ?
Cliquer pour révéler la réponsessh -T git@github.com → 'Hi USER! You've successfully authenticated…'
Cliquer pour voir la questionQuel alias affiche un log graph compact ?
Cliquer pour révéler la réponsegit config --global alias.lg 'log --oneline --graph --all --decorate' → git lg
Cliquer pour voir la questionQue faire si vous oubliez de fermer un guillemet ?
Cliquer pour révéler la réponseLe prompt affiche >. Tapez Ctrl + C pour annuler.
Cliquer pour voir la questionQuelle option configure votre identité pour TOUS vos dépôts ?
Quelle commande liste vos configs en montrant leur fichier d'origine ?
Quelle clé SSH est recommandée aujourd'hui ?
Comment tester que votre SSH GitHub fonctionne ?
# Installationgit --versionwhich git # Windows: where git
# Config — voirgit config --listgit config --list --show-origincat ~/.gitconfig
# Config — écriregit config --global user.name "Prénom Nom"git config --global user.email "email@exemple.com"git config --global init.defaultBranch maingit config --global core.editor "code --wait"git config --global color.ui auto
# Aliasesgit config --global alias.st statusgit config --global alias.lg "log --oneline --graph --all --decorate"
# SSHssh-keygen -t ed25519 -C "email@exemple.com"cat ~/.ssh/id_ed25519.pub # → copier sur GitHubssh -T git@github.com
# GH CLIgh auth logingh auth statusgh repo clone joinhashcode/workshopsVotre environnement est prêt et sécurisé. Créons maintenant votre tout premier dépôt local.