Signature de commit Github
La signature de vos commits garantit aux autres contributeurs que les modifications proviennent bien de vous. Depuis peu, GitHub prend en charge l’utilisation de clés SSH pour la signature GPG.
Préparation de la clé SSH
Si vous utilisez déjà Git et SSH pour vous connecter à GitHub, vous disposez déjà d’une clé SSH. Si ce n’est pas le cas, vous devez d’abord la générer.
Vérification de la clé publique
Pour obtenir le contenu de votre clé publique SSH (celle que vous utilisez pour vous connecter à GitHub), exécutez la commande suivante :
cat ~/.ssh/id_rsa.pub # ou le nom de votre fichier de cléCopiez le contenu complet de ce fichier (commençant par ssh-rsa ou ssh-ed25519 et se terminant par votre email).
Configuration GitHub
Vous devez indiquer à GitHub que cette clé SSH peut également être utilisée pour la signature.
Accéder aux paramètres
- Sur GitHub, allez dans
Settings(Paramètres). - Naviguez vers
SSH and GPG keysdans le menu latéral.
Ajouter la clé de signature
- Cliquez sur le bouton
New SSH key. - Renseignez le champ
Title(un nom descriptif, ex. :Signing Key Laptop). - Pour
Key type, sélectionnezSigning Key. - Collez le contenu de votre clé publique SSH (copié précédemment) dans le champ
Key. - Cliquez sur
Add SSH key.
Signing Key et non Authentication Key. Une fois ajoutée, cette clé peut être utilisée à la fois pour l’authentification Git et pour la signature des commits.Configuration de git local
Vous devez maintenant configurer votre environnement Git local pour utiliser cette nouvelle fonctionnalité.
Définir le format GPG
Indiquez à Git d’utiliser le format SSH pour les signatures GPG.
git config --global gpg.format sshDéfinir la clé de signature
Configurez Git pour qu’il utilise votre clé publique SSH pour la signature. Remplacez "votre-clé-publique" par la clé publique que vous avez ajoutée à GitHub (le contenu exact de votre fichier .pub).
git config --global user.signingkey "votre-clé-publique"ssh-ed25519 AAAAC3Nz... utilisateur@host), pas seulement l’empreinte ni le chemin du fichier.Signature automatique
Vous pouvez forcer Git à signer tous les commits que vous effectuez globalement.
git config --global commit.gpgsign trueTest et vérification
Après avoir effectué ces étapes, chaque nouveau commit sera automatiquement signé :
git commit -m "feat: mon commit est signé"Si tout est correct, vous devriez voir le badge Verified apparaîtra à côté de vos commits sur GitHub.