Signez automatiquement tous les commits avec git [fermé]


8

Avec git 1.7.9, il est possible de signer un commit avec l' -Soption. Est-il possible de le définir par défaut git config --global?

Donc, au lieu de git commit -S -m 'Commit message', ce serait juste git commit -m 'Commit message'.


2
C'est possible avec un nouveau git avec commit.gpgsign=truesetting.
Vi.

Réponses:


4

Pour signer automatiquement tous les futurs commits git, vous pouvez définir un alias global. Par exemple, pour créer un alias global appelé "c", vous feriez ceci:

$ git config --global alias.c 'commit -s'

(notez que le commutateur de validation pour vous déconnecter est en "-s" en minuscules et NON en "-S" en majuscules, comme vous l'avez saisi dans votre question).

Après avoir fait cela, vous pouvez commencer à faire vos commits en utilisant votre alias "c" nouvellement créé. Voici un exemple de création et de validation d'un fichier appelé "test.txt" qui sera validé par le committer:

$ vim test.txt
[edit file]
$ git add test.txt
$ git c -m 'My commit message'

Vous pouvez voir que le commit a la ligne "Signed-off-by:" si vous exécutez la commande "git log" avec l' --pretty=fulleroption:

$ git log --pretty=fuller

3
-sajoute un champ "signé par" au commit. -SPGP signe en fait le commit, qui a été ajouté dans git 1.7.9. De plus, cela ne signe pas tous les commits, mais seulement ceux qui sont effectués par l'utilisateur directement à l'aide de la git ccommande. Dans un rebase, lorsque de nouvelles validations sont créées, cela ne signera pas (ou le signe PGP) les validations, sauf si vous effectuez un rebase interactif et validez manuellement chaque modification.
Patrick Niedzielski

Pour plus d'informations sur la signature des commits, voir ici: phreaknerd.wordpress.com/2012/02/09/… par exemple
Patrick Niedzielski
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.