Clés GPG et Git : sécurise tes commits en 5 minutes chrono

Un cadenas doré brillant avec une clé GPG gravée dessus, symbolisant la sécurité des commits Git

Tu signes tes mails ? Non. Mais tu signes tes commits. Enfin… tu devrais 😅.

Parce que si tu veux que GitHub (ou GitLab) affiche le petit badge Verified à côté de tes commits, tu as besoin d’une clé GPG.

Badge Verified

C’est elle qui prouve que toi et seulement toi as fait ce commit. Et rassure-toi : ce n’est pas sorcier.

On va voir ensemble comment créer, configurer et utiliser une clé GPG sur macOS, Linux et Windows.

📚 Pour ceux qui aiment lire la doc officielle

⚡️ Résumé express

Suis ces étapes pour générer ta clé GPG et afficher ton badge Verified en un rien de temps 🚀

  • 1️⃣ Vérifie si GPG est installé (gpg --version)
  • 2️⃣ Installe-le si besoin (brew install gnupg, apt install gnupg, ou Gpg4win sous Windows)
  • 3️⃣ Génère une clé (gpg --full-generate-key) en RSA et RSA avec 4096 bits et ton email GitHub
  • 4️⃣ Liste tes clés pour récupérer ton ID (gpg --list-secret-keys --keyid-format=long)
  • 5️⃣ Exporte ta clé publique (gpg --armor --export <ID>) et colle-la dans GitHub/GitLab
  • 6️⃣ Configure Git pour signer automatiquement tes commits
    (git config --global user.signingkey <ID> et git config --global commit.gpgsign true)
  • 7️⃣ Configure GPG pour le terminal (export GPG_TTY=$(tty))

👉 Résultat : un workflow sécurisé, pro… et le badge Verified

🚀 Pourquoi signer ses commits ?

  • Authenticité : prouver que c’est bien toi derrière chaque commit
  • Confiance : ton équipe, ton entreprise ou tes clients savent que ton code n’est pas falsifié
  • Style : le badge Verified sur GitHub, ça claque 🔥

🔧 Étape 1 : Vérifie ta config git

Commece par récupérer le nom et l'email que tu utilises pour écrire tes commits :

BASH
git config user.name git config user.email

Si tu vois une erreur, c'est que tu ne les pas encore configurés :

BASH
git config user.name "Ton nom" # Devra être le même que dans ta clé GPG git config user.email "[email protected]" # Devra être le même que ta clé GPG et doit correspondre à ton compte Github

⚙️ Étape 2 : Vérifie si GPG est déjà installé

Sur macOS et Linux :

BASH
gpg --version

Si tu vois une version s’afficher, c’est bon. Sinon installe GPG :

BASH
# Pour macOS brew install gnupg # Pour Ubuntu / Debian sudo apt update && sudo apt install gnupg

Sur Windows : télécharge Gpg4win puis installe-le.

🗝️ Étape 3 : Génère ta clé GPG

BASH
gpg --full-generate-key

On te pose quelques questions :

  • Type de clé : choisis RSA and RSA
  • Taille : tape 4096 pour être tranquille
  • Durée : tu peux laisser "no expiration"
  • Nom: utilise le même nom que celui de ta config git (git config user.name)
  • Email : utilise le même email que celui de ta config git (git config user.email). Cet email doit aussi correspondre à ton compte Github
  • Mot de passe : mets-en un solide (il protégera ta clé privée)

🔍 Étape 4 : Liste tes clés

BASH
gpg --list-secret-keys --keyid-format=long

Tu verras quelque chose comme :

BASH
sec rsa4096/1234ABCD5678EFGH 2025-09-22 [SC] 0123456789ABCDEF0123456789ABCDEF01234567 uid Olivier Subirana <[email protected]>

👉 La partie importante est 1234ABCD5678EFGH : c’est l’ID de ta clé.

📤 Étape 5 : Exporte ta clé publique

Copie la clé dans ton clipboard:

BASH
gpg --armor --export 1234ABCD5678EFGH | pbcopy

Colle son contenu dans GitHub :

👉 Settings > SSH and GPG Keys > New GPG key ou alors clique sur ce lien Github

🔧 Étape 6 : Configure Git pour signer automatiquement

BASH
# Configure Git avec ton ID de clé git config --global user.signingkey 1234ABCD5678EFGH # Active la signature automatique git config --global commit.gpgsign true git config --global tag.gpgsign true

Désormais, tous tes commits seront signés.

🖥️ Astuce Windows (Git Bash)

INI
[gpg] program = C:/Program Files (x86)/GnuPG/bin/gpg.exe

Etape 7 : Configure GPG pour le terminal (facultatif)

Ajoute ces lignes à ton ~/.zshrc (ou ~/.bash_profile) :

BASH
export GPG_TTY=$(tty)

Puis recharge ton shell :

BASH
source ~/.zshrc # ou ~/.bash_profile

Etape 8 :Teste ta signature

BASH
# Test simple echo "test" | gpg --clearsign # Test avec un commit git commit -S -m "Test commit signé" git push

Et voilà, tu as un workflow sécurisé, pro… et un petit badge Verified qui fait plaisir ✨

❓ FAQ express

Dois-je vraiment mettre un mot de passe à ma clé GPG ?

Oui, il protège ta clé privée. Sans mot de passe, si quelqu’un récupère ton fichier de clé, il peut signer des commits à ta place.

Est-ce que je dois signer tous mes commits ?

Pas forcément. Mais si tu actives commit.gpgsign true, Git signera automatiquement tous tes commits, ce qui évite d’oublier.

Que faire si j’oublie mon mot de passe GPG ?

Tu ne pourras plus utiliser cette clé pour signer. La seule solution est d’en générer une nouvelle et de la réenregistrer sur GitHub/GitLab.

Problème sous Windows : Git ne trouve pas gpg.exe, que faire ?

Ajoute le chemin de GPG dans ton .gitconfig :

INI
[gpg] program = C:/Program Files (x86)/GnuPG/bin/gpg.exe

Quelle différence entre SSH et GPG ?

  • SSH sert à sécuriser la connexion entre ton poste et un serveur (ex. quand tu pushes du code vers GitHub).
  • GPG sert à signer et authentifier tes commits pour prouver qu’ils viennent bien de toi.

👉 Les deux sont complémentaires : SSH garantit le transport, GPG garantit l’auteur du commit.

🚀 Va plus loin : Maîtrise Git en entreprise avec nos formations sur mesure

Formation Maître Git
Olivier Subirana
Tu viens d'explorer un aspect clé de Git, un outil essentiel pour une gestion de version efficace. Mais la véritable maîtrise de Git, celle qui transforme la productivité de tes équipes et sécurise tes projets, va bien au-delà des commandes individuelles.
Olivier Subirana
En tant que fondateur de formationgit.fr et expert en Git, je propose des formations "Maître Git" exclusivement dédiées aux entreprises. Fini les erreurs coûteuses, les conflits de fusion interminables et les incompréhensions au sein de tes équipes. Nos programmes sont conçus pour s'adapter précisément à tes besoins, que tu sois une startup en pleine croissance ou une grande entreprise avec des défis complexes.

Pourquoi choisir la formation "Maître Git" pour ton entreprise ?

  • Expertise certifiée: Bénéficie de l'expérience d'un formateur spécialisé, capable de démystifier Git pour tous les niveaux.
  • Programmes sur mesure: Chaque formation est adaptée à la culture de ton entreprise, à tes outils et à tes workflows spécifiques.
  • Productivité accrue: Des équipes formées à l'excellence Git travaillent plus vite, avec moins d'erreurs et une meilleure collaboration.
  • Sécurité renforcée: Apprends les bonnes pratiques pour protéger ton historique de code et éviter les pièges courants.

Prêt à transformer la gestion de version de ton entreprise ?

Ne laisse plus les complexités de Git freiner tes projets. Investis dans la compétence de tes équipes et assure une collaboration fluide et efficace.

Olivier Subirana
👉 Contacte-moi dès aujourd'hui pour discuter de tes besoins spécifiques et obtenir une proposition personnalisée pour ta formation "Maître Git" en entreprise.
Demande ta formation "Maître Git"