标题其实还有后半部分,并在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.conf、Agent-Options