首先生成GPG密钥并配置Git,确保邮箱一致;然后设置git config启用自动签名;最后将公钥添加到GitHub完成验证。

在 VS Code 中为 Git 提交启用 GPG 签名,可以确保你的提交来自可信身份,提升代码协作的安全性。整个过程包括生成 GPG 密钥、配置 Git 和 VS Code,最终实现自动签名提交。
生成并配置 GPG 密钥
你需要一个本地的 GPG 密钥来对提交进行签名。
- 安装 gnupg 工具(macOS 可用
brew install gnupg,Linux 使用包管理器如 apt,Windows 推荐使用 Gpg4win) - 打开终端运行命令生成密钥:
gpg --full-generate-key - 选择密钥类型(RSA)、长度(建议 4096)、设置过期时间,并填写用户名和邮箱(需与 Git 邮箱一致)
- 生成完成后,列出密钥以获取指纹:
gpg --list-secret-keys --keyid-format LONG - 复制对应条目的 长格式密钥 ID(位于
rsa4096/后面的一串字符)
将 GPG 密钥关联到 Git
告诉 Git 使用你生成的密钥对提交进行签名。
- 设置 Git 用户邮箱(必须与 GPG 密钥中的一致):
git config --global user.email "your-email@example.com" - 配置 GPG 签名程序路径(通常可自动识别,若报错需手动指定):
例如在 Windows 上:git config --global gpg.program "C:\Program Files\GnuPG\bin\gpg.exe" - 启用提交签名:
git config --global commit.gpgsign true - 设置默认签名密钥(使用前面获取的密钥 ID):
git config --global user.signingkey YOUR_KEY_ID
在 VS Code 中提交时自动签名
VS Code 的 Git 功能会调用底层 Git 配置,只要全局启用了 GPG 签名,提交就会自动尝试签名。
- 在 VS Code 中进行常规提交操作(输入消息并点击“√”提交)
- 首次提交时会弹出 GPG 密码输入框(由 GPG Agent 或系统钥匙串管理)
- 输入密钥密码后,提交即被 GPG 签名
- 可在终端查看提交是否已签名:
git log --show-signature -1
验证签名并推送到远程仓库
确认签名有效,并将签名提交推送到 GitHub 或其他平台。
- 前往 GitHub → Settings → Keys and tokens → GPG keys
- 点击 “New GPG key”,将公钥内容粘贴进去
(获取公钥命令:gpg --armor --export YOUR_KEY_ID) - 推送提交后,GitHub 会显示 “Verified” 标签,表示提交已认证
- 如果签名失败,检查邮箱一致性、密钥路径和 GPG agent 是否正常运行
基本上就这些。只要密钥配置正确,VS Code 会无缝集成 GPG 签名流程,每次提交都可被验证来源。不复杂但容易忽略细节,比如邮箱匹配和密钥导出格式。










