在 Git 中使用 GPG 密钥
生成及查看 GPG 密钥
下载并安装 GPG 命令行工具(需根据操作系统来选择适合的版本下载)
运行如下命令生成 GPG 密钥对
1
gpg --full-generate-key
在生成时,会依次提示选择要生成的密钥类型、密钥大小、密钥有效时长及确认选择,以上均选择默认值即可;随后需输入用户 ID 信息,需保证信息与 Github 保存的信息一致;接着需输入一个安全密码;最后完成生成过程
完成生成后,可以运行如下命令查看已生成的 GPG 密钥
1
gpg --list-secret-keys --keyid-format=long
从已生成的 GPG 密钥中选择一个,并复制密钥 ID;例如,如下示例的密钥 ID 为
3AA5C34371567BD2
Text 1
2
3
4
5/Users/hubot/.gnupg/secring.gpg
------------------------------------
sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]
uid Hubot <hubot@example.com>
ssb 4096R/4BB6D45482678BE3 2016-03-10运行如下命令生成 GPG 密钥的公钥文本,需将
<GPG-ID>
替换为对应的 GPG 密钥 ID1
gpg --armor --export <GPG-ID>
复制生成结果,即以
-----BEGIN PGP PUBLIC KEY BLOCK-----
开头,以-----END PGP PUBLIC KEY BLOCK-----
结尾的部分
添加 GPG 密钥至 Github
- 前往 https://github.com/settings/keys 页面,或通过个人资料照片-设置-SSH 和 GPG 密钥前往对应页面
- 点击新建 GPG 密钥,在标题字段输入 GPG 密钥的名称,在密钥字段中输入复制的生成的 GPG 密钥的公钥文本,最后点击添加 GPG 密钥
- 完成后续身份验证等步骤以完成操作
添加 GPG 密钥至 Git
运行如下命令以在 Git 中设置 GPG 签名主键
1
git config --global user.signingkey <GPG-ID>
运行如下命令指定安装的 GPG 命令行工具的路径
1
git config --global gpg.program <path/to/gpg>
可以运行如下命令以配置默认对所有提交使用 GPG 签名
1
git config --global commit.gpgsign true
参见
在 Git 中使用 GPG 密钥
https://skyclouds2001.github.io/2024/04/28/Using-GPG-in-Git/