CARVIEW |
Select Language
HTTP/2 200
date: Thu, 24 Jul 2025 05:58:45 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-repository-download: git clone https://github.com/wincent/wincent.git
etag: W/"0aade08413c1bfdee1846d23c1bdc8a8"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=lgAQ%2BCwxxUIM3xSUsqRyQoaQpJ7UxIC3F5%2BGdK4Y8Oa398SezitRPQeClxjmRJqNZUFN9A11GeGl%2F1nJY14BUyVfv6bRAj8lL7MaATWLaE5m7sGFb6TDdFMe6WSRQtp0ERMxMo2e5n7N%2B9rFxT8RAYbf8JTSY%2Fn9iAoZNHz6YkcYPgGFSIHMgnnL12d7EvQRQABoFHjvm5W5LmyPSFBa7xnmDPapxU62h%2B8ECuvNUwDbIj7gplBmeg%2Bn%2BuoEEU9IK5Kz1Y2TRa5YQCWwbstcgQ%3D%3D--Fqw%2BYDpC2OisFS2E--bhgKk9irR2XYvH0IS2IS8A%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.625883819.1753336725; Path=/; Domain=github.com; Expires=Fri, 24 Jul 2026 05:58:45 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Fri, 24 Jul 2026 05:58:45 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: A812:3AEC1B:469756:5C926D:6881CB95
feat(dotfiles): automatically sign commits on personal machines · wincent/wincent@ec49be7 · GitHub
Copy file name to clipboardExpand all lines: aspects/dotfiles/templates/.gitconfig.erb
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 106
Commit ec49be7
committed
feat(dotfiles): automatically sign commits on personal machines
As described here:
https://wincent.com/wiki/GPG_key_rotation_notes
I don't even have a signing key my work machine (mostly because I don't
want to go through the hoops of getting such a thing working on
Codespaces, although it would be easy enough to do it locally on my work
laptop).
But recent changes in GitHub:
https://twitter.com/wincent/status/1535598901486669824
https://github.blog/changelog/2022-05-31-improved-verification-of-historic-git-commit-signatures/
lead me to reconsider my long-help policy of not bothering to sign
commits, only tags. If GitHub is going to show signatures even as valid
after the corresponding keys have expired, then it seems that it is
worth doing after all.
Torvalds is well known for saying that signing commits is "stupid":
https://news.ycombinator.com/item?id=12290873
https://stackoverflow.com/a/10166916/2103996
> Signing each commit is totally stupid. It just means that you automate
> it, and you make the signature worth less. It also doesn't add any
> real value, since the way the git DAG-chain of SHA1's work, you only
> ever need one signature to make all the commits reachable from that
> one be effectively covered by that one. So signing each commit is
> simply missing the point.
I think this is true in a sense, but the importance of GitHub's UI
decisions within the developer ecosystem shifts the balance. Sure,
auto-signing _does_ make each signature be "worth less", but at the same
time, I am _not_ worried about somebody else impersonating me. Even if
my commits are garbage, I am happy to attest to being the one who made
that garbage. For me, signing doesn't mean "this is good", but rather,
"this is me". GitHub's UI very much reinforces the reading that any
given commit was really made by the author.
The trade-offs in kernel development are different. For example, as it
says here:
https://github.com/torvalds/linux/blob/4b35035bcf80ddb47c0112c4fbd84a63a2836a18/Documentation/process/maintainer-pgp-guide.rst#how-to-work-with-signed-commits
> It is easy to create signed commits, but it is much more difficult
> to use them in Linux kernel development, since it relies on patches
> sent to the mailing list, and this workflow does not preserve PGP
> commit signatures. Furthermore, when rebasing your repository to
> match upstream, even your own PGP commit signatures will end up
> discarded. For this reason, most kernel developers don't bother
> signing their commits and will ignore signed commits in any external
> repositories that they rely upon in their work.
Even there, they go on to say:
> However, if you have your working git tree publicly available at
> some git hosting service (kernel.org, infradead.org, ozlabs.org,
> or others), then the recommendation is that you sign all your git
> commits even if upstream developers do not directly benefit from this
> practice.1 parent e3085a1 commit ec49be7Copy full SHA for ec49be7
File tree
Expand file treeCollapse file tree
2 files changed
+7
-1
lines changedFilter options
- aspects/dotfiles
- templates
Expand file treeCollapse file tree
2 files changed
+7
-1
lines changed+2-1Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
17 | 17 |
| |
18 | 18 |
| |
19 | 19 |
| |
20 |
| - | |
| 20 | + | |
21 | 21 |
| |
| 22 | + | |
22 | 23 |
| |
23 | 24 |
| |
24 | 25 |
| |
|
aspects/dotfiles/templates/.gitconfig.erb
Copy file name to clipboardExpand all lines: aspects/dotfiles/templates/.gitconfig.erb+5Lines changed: 5 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
95 | 95 |
| |
96 | 96 |
| |
97 | 97 |
| |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
98 | 103 |
| |
99 | 104 |
| |
100 | 105 |
| |
|
You can’t perform that action at this time.
0 commit comments