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'.

tamasd
la source
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
ricmarques
la source
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