NiceLeeのBlog 用爱发电 bilibili~

备忘录 使用Gpg为git的commit签名

2024-08-19
nIceLee

阅读:


标题其实还有后半部分,并在Github设置Gpg公钥
因为难度过低,以及会导致标题过长,遂作罢。

前言

这个工作其实可以分为三个部分:

  • 生成并导入gpg密钥
  • 配置git,使之每次commit时自动为之签名
  • 在Github配置gpg公钥

生成并导入gpg密钥

Windows: gpg4win
图形界面没啥好说的,傻瓜式操作。

其它系统百度一下即可。

配置git,使之每次commit时自动为之签名

以下为.gitconfig相关配置,你也可以通过命令行设置,例如git config commit.gpgsign true

[user]
    email = lijia0732@sina.com
    signingkey = 22FB55502063EF15
[commit]
    gpgsign = true
[gpg]
    program = "D:/Program Files (x86)/GnuPG/bin/gpg.exe"
    #program = "D:/Program Files/Git/usr/bin/gpg.exe"

其中:
signingkey为公钥Key ID,不知道的话空着,等到在Github添加完GPG公钥后你就会看见了。
gpgsign表示commit时自动签名。
program表示使用的gpg程序。 一般安装的git都自带有gpg.exe,但是版本如果过旧的话,可能签名新格式密钥会有问题。
使用gpg4win的程序则肯定没问题,毕竟密钥都是它生成的,配套的签名肯定没事。

如何设置不让每次签名都弹出密码输入框

C:\Users\[USER]\AppData\Roaming\gnupg\创建gpg.conf:

use-agent

[可选]在C:\Users\[USER]\AppData\Roaming\gnupg\创建gpg-agent.conf:

default-cache-ttl 6000
max-cache-ttl 72000

这意味着密码在上次输入的6000秒(100分钟)内有效,默认是600秒(10分钟)。
这意味着密码在首次输入的72000秒(20小时)内有效,默认是7200秒(2小时)。
参考gpg-agent.confAgent-Options

在Github配置gpg公钥

前往https://github.com/settings/keys


内容
隐藏