<oembed><type>rich</type><version>1.0</version><author_name>npub1xqshkqv2g7uea4xzqwvmgjcz7u8vfavw6aazs999v0azsv3w7u3qpymc2p</author_name><author_url>https://nostr.ae/npub1xqshkqv2g7uea4xzqwvmgjcz7u8vfavw6aazs999v0azsv3w7u3qpymc2p</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2014-05-21&#xA;📝 Original message:Hello all,&#xA;&#xA;When you&#39;re contributing to Bitcoin Core development please sign your&#xA;git commits. This is easy to do and will help in assuring the&#xA;integrity of the tree.&#xA;&#xA;How to sign your commits?&#xA;------------------------------------------&#xA;&#xA;Provide the `-S` flag (or `--gpg-sign`) to git commit when you commit&#xA;your changes, for example&#xA;&#xA;    git commit -m &#34;Commit message&#34; -S&#xA;&#xA;Optionally you can provide a key id after the -S option to sign with a&#xA;specific key.&#xA;&#xA;What if I forgot?&#xA;-------------------------&#xA;&#xA;You can retroactively sign your previous commit using --amend, for example&#xA;&#xA;    git commit -S --amend&#xA;&#xA;If you need to go further back, you can use the interactive rebase&#xA;command with &#39;edit&#39;. Replace HEAD~3 with the base commit from which&#xA;you want to start.&#xA;&#xA;    git rebase -i HEAD~3&#xA;&#xA;Replace &#39;pick&#39; by &#39;edit&#39; for the commit that you want to sign and the&#xA;rebasing will stop after that commit. Then you can amend the commit as&#xA;above. Afterwards, do&#xA;&#xA;    git rebase --continue&#xA;&#xA;As this will rewrite history, you cannot do this when your commit is&#xA;already merged. In that case, too bad, better luck next time.&#xA;&#xA;If you rewrite history for another reason - for example when squashing&#xA;commits - make sure that you re-sign as the signatures will be lost.&#xA;&#xA;How to check if commits are signed?&#xA;-------------------------------------------------------&#xA;&#xA;Use git log with show-signature,&#xA;&#xA;    git log --show-signature&#xA;&#xA;    commit 6fcdad787f1fb381a3a0fe6b1a1e45477426dccb&#xA;    gpg: Signature made Wed 21 May 2014 12:27:55 PM CEST using RSA key&#xA;ID 2346C9A6&#xA;    gpg: Good signature from &#34;Wladimir J. van der Laan &lt;laanwj at gmail.com&gt;&#34;&#xA;    Author: Wladimir J. van der Laan &lt;laanwj at gmail.com&gt;&#xA;    Date:   Wed May 21 12:27:37 2014 +0200&#xA;&#xA;        qt: Periodic language update&#xA;    ...&#xA;&#xA;You can also pass the --show-signature option to `git show` to check a&#xA;single commit.&#xA;&#xA;If you do this on the current repository you&#39;ll see that I&#39;m almost&#xA;the only person signing commits. I would like more people to get into&#xA;this habit.&#xA;&#xA;How to sign merges?&#xA;--------------------------------&#xA;&#xA;When using the github interface to merge a pull request, the resulting&#xA;merge commit is not signed.&#xA;&#xA;Pieter Wullie wrote a script that simplifies merging and signing. It&#xA;can be found in contrib/devtools. Setup instructions can be found in&#xA;the README.md in that directory. After setting it up for the&#xA;repository you can use the script in the following way:&#xA;&#xA;    contrib/devtools/github-merge.sh 1234&#xA;&#xA;Replace 1234 by the pull request number that you want to merge. It&#xA;will merge the pull request and drop you into a shell so you can&#xA;verify changes and test. Once satisfied, exit the shell and answer the&#xA;questions to merge and sign it and push upstream automatically (or&#xA;not).&#xA;&#xA;Please use this script when possible for merging instead of the github&#xA;interface.&#xA;&#xA;--------------------------&#xA;&#xA;Wladimir</html></oembed>