Aller au contenu principal

Configuration de Git


Table des matières


  1. Niveaux de configuration
  2. Configuration de l'identité
  3. Configuration de l'éditeur
  4. Configuration SSH
  5. Autres configurations utiles
  6. Vérification de la configuration


1 - Niveaux de configuration



Git utilise trois niveaux de configuration :

NiveauPortéeFichierOption
SystemTous les utilisateurs/etc/gitconfig--system
GlobalVotre utilisateur~/.gitconfig--global
LocalUn 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éthodeAvantagesInconvénients
HTTPSSimple à configurerDemande le mot de passe
SSHPas 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

  1. Allez sur GitHub → SettingsSSH and GPG keys
  2. Cliquez sur New SSH key
  3. Title : Nom descriptif (ex: "MacBook Pro Personnel")
  4. Key type : Authentication Key
  5. Key : Collez votre clé publique
  6. Cliquez Add SSH key

4.8 Tester la connexion

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 !

🔝 Retour à la table des matières