github commit 时加上 GPG 签名

安装

我是安装的这个 https://gpgtools.org/

生成密钥

1.执行以下命令生成密钥,注意这里的邮箱要填你 github 认证的邮箱

gpg --full-generate-key 

2.查看密钥列表

gpg --list-keys

会列出如下信息

pub   rsa4096 2018-06-10 [SC] [有效至:2042-06-10]
      429825C5AD6A2BA12AAB7E3C4200719FE9EBA033
uid           [ 绝对 ] wenjun fang <[email protected]>
sub   rsa4096 2018-06-10 [E] [有效至:2042-06-10]

其中:

  • pub表示公钥的算法和长度 以及创建时间和有效期。
  • 429825C5AD6A2BA12AAB7E3C4200719FE9EBA033 是密钥表示,一般取最后6位 EBA033

配置 github

全局配置

git config --global user.signingkey E9EBA033  # 绑定上面的密钥标识

设置全局提交验证,如果设置为 true 则所有仓库提交时都会进行加密

git config --global commit.gpgsign true   # 设置全局验证

单次提交验证

git commit -S -m "commit content"   

导出密钥内容

gpg --armor --output public-key.txt --export E9EBA033

然后在 github 添加 GPG Key

效果