Comment signer vos commits git avec des clés GPG

Lorsque vous examinez des dépôts open-source ou des projets professionnels, vous remarquerez peut-être que certains commits portent un badge “Vérifié”. Ces commits signés prouvent l’identité de l’auteur et ajoutent une couche supplémentaire de confiance au code.
La signature de vos commits Git avec des clés GPG est simple à configurer et fournit une preuve claire que les commits proviennent effectivement de vous.
Dans cet article, vous apprendrez comment créer une clé GPG, configurer Git pour l’utiliser, et commencer à signer automatiquement vos commits.
Points clés
- La signature des commits Git vérifie votre identité et améliore la confiance dans le projet
- La mise en place de la signature GPG implique la génération d’une clé et la configuration de Git
- Les commits signés sont particulièrement importants pour les travaux open-source et d’entreprise
Pourquoi signer les commits Git ?
- Preuve d’auteur : Les autres peuvent vérifier qu’un commit a été fait par vous, et non par quelqu’un se faisant passer pour vous.
- Confiance et sécurité : Crucial dans les dépôts open-source, d’entreprise et sensibles.
- Normes professionnelles : De plus en plus attendu dans de nombreux flux de travail d’ingénierie.
Les commits signés apparaissent avec une étiquette “Vérifié” sur des plateformes comme GitHub.
Comment générer une clé GPG
D’abord, vérifiez si vous avez déjà une clé GPG :
gpg --list-secret-keys --keyid-format=long
Si vous devez en créer une :
gpg --full-generate-key
Lorsque vous êtes invité :
- Choisissez l’option par défaut (RSA et RSA)
- Définissez la taille de la clé à 4096 bits
- Définissez l’expiration (optionnel, 1 an est courant)
- Entrez votre nom et email (doit correspondre à votre compte GitHub si vous utilisez GitHub)
Après la création, listez vos clés :
gpg --list-secret-keys --keyid-format=long
Trouvez l’ID de clé GPG (une longue chaîne) associée à votre email.
Comment configurer Git pour utiliser votre clé GPG
- Dites à Git de signer automatiquement les commits :
git config --global commit.gpgsign true
- Définissez votre clé GPG pour Git :
git config --global user.signingkey YOUR_KEY_ID
Remplacez YOUR_KEY_ID
par celui que vous avez trouvé précédemment.
- Assurez-vous que Git utilise GPG :
git config --global gpg.program gpg
Maintenant, tous les nouveaux commits que vous créez seront signés automatiquement.
En relation : Configuration d’un modèle de commit Git : Un guide étape par étape
Comment télécharger votre clé GPG sur GitHub
Si vous souhaitez le badge “Vérifié” sur GitHub :
- Exportez votre clé publique :
gpg --armor --export YOUR_EMAIL
- Copiez l’intégralité de la sortie.
- Allez dans GitHub > Paramètres > Clés SSH et GPG > Nouvelle clé GPG.
- Collez votre clé publique et enregistrez.
Maintenant, GitHub peut vérifier vos commits signés.
Résolution des problèmes de signature
- Invites de l’agent GPG : Certains systèmes nécessitent une configuration supplémentaire pour mettre en cache votre phrase secrète.
- Adresse email incorrecte : L’email de votre clé GPG doit correspondre à votre email GitHub (ou être ajouté à votre compte GitHub).
- GPG manquant : Assurez-vous que GPG est installé (
gpg --version
). Installez-le via Homebrew, apt, ou le gestionnaire de paquets de votre système si nécessaire.
Conclusion
La signature des commits Git avec des clés GPG renforce la sécurité et l’intégrité de votre projet. C’est une petite étape supplémentaire qui signale le professionnalisme et établit la confiance avec les collaborateurs, les utilisateurs et la communauté des développeurs au sens large.
FAQ
Oui. Si vous n'activez pas la signature globale, vous pouvez signer manuellement un commit avec `git commit -S`.
Oui. Vous pouvez configurer les workflows GitHub Actions pour utiliser une clé GPG pour les commits ou tags signés.
Non, elle est facultative. Mais elle est de plus en plus encouragée pour les projets open-source et d'entreprise.