什么是GPG?
GPG(GNU Privacy Guard)是一种开源的加密软件,用于数据加密和数字签名。它基于 PGP(Pretty Good Privacy)协议实现,广泛应用于保护电子邮件、文件等数据的隐私和完整性。
在 GPG 中,公钥是密钥对(公钥和私钥)的一部分。密钥对是通过加密算法生成的,公钥可以公开分发,而私钥则需要严格保密。公钥和私钥之间的关系是:用公钥加密的数据只能用对应的私钥解密,而用私钥签名的数据可以用公钥验证。
本地GIT使用GPG签名提交
步骤 1:生成 GPG 密钥
-
安装 GPG 工具:
- Windows:下载并安装 Gpg4win
- macOS:使用 Homebrew 安装:
brew install gnupg
- Linux:使用包管理器安装:
sudo apt install gnupg
(Ubuntu/Debian)或sudo yum install gnupg
(CentOS/RHEL)
-
生成 GPG 密钥:
gpg --full-generate-key
- 选择密钥类型:RSA and RSA
- 密钥长度:4096
- 设置有效期
- 输入用户名和邮箱
- 设置密码(可选)
-
查看生成的 GPG 密钥:
gpg --list-secret-keys --keyid-format LONG
记录
rsa4096/
后面的部分,这是你的 GPG 密钥 ID。
步骤 2:配置 Git 使用 GPG 签名
-
告诉 Git 使用 GPG 签名:
git config --global user.signingkey <GPG_KEY_ID>
将
<GPG_KEY_ID>
替换为你的 GPG 密钥 ID。 -
设置 Git 默认对所有提交进行签名:
git config --global commit.gpgsign true
-
确保 Git 使用的邮箱与 GPG 密钥的邮箱一致:
git config --global user.email "your.email@example.com"
步骤 3:将 GPG 公钥添加到 Gitee
-
导出 GPG 公钥:
gpg --armor --export <GPG_KEY_ID>
将
<GPG_KEY_ID>
替换为你的 GPG 密钥 ID。 -
复制输出的公钥内容,并登录 Gitee 将其添加到 GPG 公钥。
步骤 4:提交代码并签名
-
提交并签名修改的代码:
git commit -S -m "你的提交信息"
使用
-S
表示对提交进行签名。 -
推送代码到 Gitee:
git push origin <branch-name>
步骤 5:验证签名
- 在 Gitee 上查看提交记录。
- 如果提交已成功签名,你会在提交记录看到一个 已验证 的标记,表示提交已通过 GPG 验证。
总结
通过以上步骤,你可以确保你的提交也经过 GPG 签名,增强代码的可信度!