git提交代码时使用GPG添加签名

今天看github上代码时发现有commit中有Verified的状态。


image.png

按照图中的链接点进去了解了一下,相关资料。
按照方法安装了gpg,也生成了key,并设置给了git,但是提交代码时遇到问题。


image.png

上图可见,使用gpg直接查看key时,能查看到。但是使用git提交时失败。

对比发现,git for windows安装程序下也有个gpg.exe:


image.png

而且版本是低版本,只有1.4.22.


image.png

在生成key时调用的是后安装的高版本,在这版本里证书的存储位置和格式都发生了变化。新版本的配置文件存储在%appdata%\gnupg里,而git里集成的是较老版本,使用的是User目录中的.gnupg。

解决方案

  1. 使用gpg -a -o gpg.private.export --export-secret-keys导出私钥
  2. 使用gpg -a -o gpg.public.export导出公钥
  3. 使用git下的gpg --import分别导入公钥和私钥
  4. 使用git下的gpg -K查看key(两边的不一致)
  5. 再使用 git config --global user.signingkey <你的GPG key> 设置到全局参数中

然后在git命令行中就可以使用它签名了。
git commit -a -m "test signed" -S
再使用git log --show-signature -1查看签名信息。

另外再附加二个选项,可以使提交时默认使用签名:
git config commit.gpgsign true

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 14,657评论 9 163
  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 9,388评论 3 27
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 9,214评论 0 13
  • 有一中学生在同我闲聊时,说:我们的老师告诉我们,日本之所以侵略中国,是因为日本人信仰基督教,是基督教让日本人侵略中...
    静聆月语阅读 4,270评论 0 1
  • 阮籍:公元210年出生,卒于公元263年,抑郁而终。嵇康:约生于公元223年,卒于公元263年左右,被司马昭处死。...
    徐向明在简书阅读 4,127评论 0 7

友情链接更多精彩内容