Outils pour utilisateurs

Outils du site


dev:git:signer_son_travail

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
dev:git:signer_son_travail [2021/11/23 11:24] – ↷ Nom de la page changé de dev:git:signature à dev:git:signer_son_travail yoanndev:git:signer_son_travail [2021/11/23 13:31] (Version actuelle) yoann
Ligne 1: Ligne 1:
-{{tag>git dev signature}}+{{tag>git dev signature sécurité gpg gpg2}}
  
-====== Signature avec git ====== 
  
-Confère le wiki configuration pour la mise en place du paramétrage nécessaire à la signature. **git** utilise **gpg**. 
  
-Pour activer la signature systématique des commits de l'utilisateur courant:+====== Git : Signer ses travaux ====== 
 + 
 +Confère le wiki [[dev:git:configuration#definir_la_cle_gpg_pour_signature_du_travail | configuration de git]] pour la mise en place du paramétrage nécessaire à la signature. Pour signer les travaux **git** utilise **gpg** ou **gpg2**. 
 + 
 +Pour activer la signature systématique des commits, ici l'option de portée **%%--global%%** permet de le définir pour tous les dépôts de l’utilisateur courant:
 <code bash> <code bash>
 git config --global commit.gpgsign true git config --global commit.gpgsign true
Ligne 19: Ligne 21:
 </code> </code>
  
-===== Vérifier du code signé =====+===== Signer un tag =====
  
-Pour vérifier un commit+Les tags peuvent également être signés, pour cela utiliser l'argument **-s**
 <code bash> <code bash>
-en utilisant un tag+git tag alpha-0.3 -s -m 'version alpha 0.3' 
 +</code> 
 + 
 +Pour vérifier un tag signé utiliser l'argument -v: 
 +<code bash> 
 +git tag -v alpha-0.3  
 +</code> 
 + 
 +===== Afficher les informations de signature ===== 
 + 
 +Par défaut les informations de signature ne sont pas systématiquement affichées. 
 + 
 +==== Sur le log ==== 
 + 
 +Il est possible via la commande **git log** d'ajouter l' option **%%--show-signature%%** affichant les informations de signature:  
 + 
 +<code bash> 
 +git log --show-signature 
 +</code> 
 + 
 +==== Sur un commit ==== 
 + 
 +La commande **git show** permet d'afficher le commit et les informations de signature via l'option **%%--show-signature%%**: 
 + 
 +<code bash> 
 +En utilisant un tag
 git show master --show-signature git show master --show-signature
  
-# En utilisant le SHA d'un objet+# En utilisant le SHA de l' objet
 git show 7554255 --show-signature git show 7554255 --show-signature
 </code> </code>
  
-===== Signer un tag =====+===== Vérifier du code signé ===== 
 + 
 +==== Vérifier un tag ==== 
 + 
 +Pour vérifier un tag signé, utiliser l'option **-v**. La vérification s'appuie sur GPG, le trousseau de l'utilisateur doit contenir la clé publique du signataire pour que l' opération puisse aboutir.
  
-Les tags peuvent également être signés, pour cela utiliser l'argument **-s** 
 <code bash> <code bash>
-git tag alpha-0.3 -s -m 'version alpha 0.3'+git tag -v alpha-1.1
 </code> </code>
  
-Pour vérifier un tag signé utiliser l'argument -v:+==== Vérification avant fusion ===== 
 + 
 +A partir de la version 1.8.3 les commandes **git merge** et **git pull** peuvent vérifier et rejeter des commits sans signature appartenant à son réseau de confiance en utilisant l'option **%%--verify-signatures%%**. 
 + 
 <code bash> <code bash>
-git tag -v alpha-0.3 +git merge --verify-signatures non-verify-branch 
 +</code> 
 + 
 +Le merge est une forme de commit, on peut donc le signer via l'option **-S**: 
 + 
 +<code bash> 
 +git merge --verify-signatures -S  signed-branch
 </code> </code>
  
dev/git/signer_son_travail.1637666649.txt.gz · Dernière modification : 2021/11/23 11:24 de yoann