Configuration de Git
Table des matières
- Niveaux de configuration
- Configuration de l'identité
- Configuration de l'éditeur
- Configuration SSH
- Autres configurations utiles
- Vérification de la configuration
1 - Niveaux de configuration
Git utilise trois niveaux de configuration :
| Niveau | Portée | Fichier | Option |
|---|---|---|---|
| System | Tous les utilisateurs | /etc/gitconfig | --system |
| Global | Votre utilisateur | ~/.gitconfig | --global |
| Local | Un seul dépôt | .git/config | --local |
💡 Priorité : Local > Global > System (le plus spécifique gagne)
Voir la configuration actuelle
# Toute la configuration
git config --list
# Configuration globale uniquement
git config --global --list
# Origine de chaque paramètre
git config --list --show-origin
🔝 Retour à la table des matières
2 - Configuration de l'identité
2.1 Configurer votre nom et email
C'est OBLIGATOIRE avant de faire votre premier commit !
git config --global user.name "Votre Nom"
git config --global user.email "[email protected]"
⚠️ Important : Utilisez le même email que votre compte GitHub pour que vos contributions soient correctement attribuées.
2.2 Vérifier la configuration
git config user.name
git config user.email
2.3 Configuration par projet (optionnel)
Si vous travaillez avec différentes identités (perso/pro) :
# Dans le dossier du projet
cd mon-projet-pro
git config --local user.name "Jean Dupont"
git config --local user.email "[email protected]"
🔝 Retour à la table des matières
3 - Configuration de l'éditeur
3.1 Définir l'éditeur par défaut
L'éditeur est utilisé pour écrire les messages de commit et résoudre les conflits.
Visual Studio Code (recommandé) :
git config --global core.editor "code --wait"
Vim :
git config --global core.editor "vim"
Nano :
git config --global core.editor "nano"
Notepad++ (Windows) :
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
Sublime Text :
git config --global core.editor "subl -n -w"
3.2 Vérifier l'éditeur configuré
git config core.editor
🔝 Retour à la table des matières
4 - Configuration SSH
4.1 Pourquoi SSH ?
| Méthode | Avantages | Inconvénients |
|---|---|---|
| HTTPS | Simple à configurer | Demande le mot de passe |
| SSH | Pas de mot de passe, Plus sécurisé | Configuration initiale requise |
4.2 Vérifier les clés existantes
ls -la ~/.ssh
Recherchez des fichiers comme id_ed25519, id_rsa, etc.
4.3 Générer une nouvelle clé SSH
Clé Ed25519 (recommandée) :
ssh-keygen -t ed25519 -C "[email protected]"
Si Ed25519 n'est pas supporté, utilisez RSA :
ssh-keygen -t rsa -b 4096 -C "[email protected]"
4.4 Réponses aux questions
Enter file in which to save the key (/home/user/.ssh/id_ed25519): [Appuyez Entrée]
Enter passphrase (empty for no passphrase): [Entrez un mot de passe ou Entrée]
Enter same passphrase again: [Confirmez]
💡 Conseil : Ajoutez une passphrase pour plus de sécurité !
4.5 Ajouter la clé à l'agent SSH
Linux/macOS :
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Windows (Git Bash) :
eval $(ssh-agent -s)
ssh-add ~/.ssh/id_ed25519
4.6 Copier la clé publique
Linux :
cat ~/.ssh/id_ed25519.pub
macOS :
pbcopy < ~/.ssh/id_ed25519.pub
Windows (Git Bash) :
clip < ~/.ssh/id_ed25519.pub
4.7 Ajouter la clé à GitHub
- Allez sur GitHub → Settings → SSH and GPG keys
- Cliquez sur New SSH key
- Title : Nom descriptif (ex: "MacBook Pro Personnel")
- Key type : Authentication Key
- Key : Collez votre clé publique
- Cliquez Add SSH key
4.8 Tester la connexion
ssh -T [email protected]
Résultat attendu :
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
🔝 Retour à la table des matières
5 - Autres configurations utiles
5.1 Branche par défaut
git config --global init.defaultBranch main
5.2 Gestion des fins de ligne
Windows :
git config --global core.autocrlf true
macOS/Linux :
git config --global core.autocrlf input
5.3 Couleurs dans le terminal
git config --global color.ui auto
5.4 Alias (raccourcis)
Créez des raccourcis pour les commandes fréquentes :
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.lg "log --oneline --graph --all"
Usage :
git st # équivalent à git status
git co main # équivalent à git checkout main
git lg # log graphique
5.5 Configuration du pull
# Éviter les merges automatiques lors d'un pull
git config --global pull.rebase false
# Ou préférer le rebase
git config --global pull.rebase true
5.6 Credential helper (mémoriser les identifiants)
Windows :
git config --global credential.helper manager
macOS :
git config --global credential.helper osxkeychain
Linux :
git config --global credential.helper cache --timeout=3600
🔝 Retour à la table des matières
6 - Vérification de la configuration
6.1 Voir toute la configuration
git config --list
6.2 Configuration recommandée finale
Voici un résumé de la configuration recommandée :
# Identité
git config --global user.name "Votre Nom"
git config --global user.email "[email protected]"
# Éditeur
git config --global core.editor "code --wait"
# Branche par défaut
git config --global init.defaultBranch main
# Fins de ligne (Windows)
git config --global core.autocrlf true
# Couleurs
git config --global color.ui auto
# Alias utiles
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.lg "log --oneline --graph --all"
6.3 Fichier ~/.gitconfig résultant
[user]
name = Votre Nom
email = [email protected]
[core]
editor = code --wait
autocrlf = true
[init]
defaultBranch = main
[color]
ui = auto
[alias]
st = status
co = checkout
br = branch
ci = commit
lg = log --oneline --graph --all
Prochaine étape
Maintenant que Git est configuré, passons aux commandes principales du workflow Git !