4,461
edits
add Get a build number |
|||
Line 1: | Line 1: | ||
= | = Signing work = | ||
Get your GPG configured, and a personal key installed. Configure Git to use your personal key. | |||
< | <syntaxhighlight lang="bash"> | ||
$ git config --global user.signingkey 0A46826A | $ git config --global user.signingkey 0A46826A | ||
</ | </syntaxhighlight> | ||
Signing tags: | |||
<syntaxhighlight lang="bash"> | |||
$ git tag -s v2.17 -m 'version 2.17 signed by MH' | |||
$ git show v2.17 | |||
</syntaxhighlight> | |||
With the signer's public key in the keyring, you can verify the tag: | |||
<syntaxhighlight lang="bash"> | |||
$ git tag -v v2.17 | |||
</syntaxhighlight> | |||
== Signing commits == | |||
You can sign commits simply by adding -S once your environment is configured. | |||
<syntaxhighlight lang="bash"> | |||
$ git commit -S -m 'push a signed commit' | |||
</syntaxhighlight> | |||
You can check and verify via <span class="package">git log</span>: | |||
<syntaxhighlight lang="bash"> | |||
$ git log --show-signature -1 | |||
</syntaxhighlight> | |||
You can configure <span class="package">git log</span> to check any signatures and list them in output via <span class="package">%G?</span> format. | |||
<syntaxhighlight lang="bash"> | |||
$ git log --pretty="format:%h %G? %aN %s" | |||
</syntaxhighlight> | |||
You can also reject commits that are unsigned and invalid: | |||
<syntaxhighlight lang="bash"> | |||
$ git merge --verify-signature non-verify | |||
$ git merge --verify-signatures signed-branch | |||
</syntaxhighlight> | |||
Sign the merge commit itself: | |||
<syntaxhighlight lang="bash"> | |||
$ git merge --verify-signatures -S signed-branch | |||
</syntaxhighlight> | |||
= Commands = | = Commands = |