在 VS Code 中为 git 提交添加 GPG 签名需先配置 Git 本身:生成 GPG 密钥、设置 user.signingkey 和 commit.gpgsign true,VS Code 会自动调用 Git 签名,提交时弹出密码框,验证可用 git log –show-signature 或 github 的“Verified”标签。

在 VS Code 中为 Git 提交添加 GPG 签名,核心是让 Git 本身支持签名,VS Code 只是调用 Git 命令的前端——所以配置重点在 Git 和系统环境,而非 VS Code 插件。
生成并配置 GPG 密钥
确保你已安装 GPG 工具(如 gpg 或 gpg2),然后生成密钥对:
- 终端运行
gpg --full-generate-key,按提示选择 RSA、4096 位、有效期(建议设为 2 年或自定义),填写姓名和邮箱(需与 Git 配置一致) - 生成后,用
gpg --list-secret-keys --keyid-format=long查看密钥 ID(形如ABCDEF1234567890...) - 将公钥上传到 GitHub/gitlab:执行
gpg --armor --export YOUR_KEY_ID,复制输出内容粘贴到平台的 GPG keys 设置页
配置 Git 启用签名
告诉 Git 使用哪个密钥签名,并默认对所有提交启用:
- 设置签名密钥:
git config --global user.signingkey YOUR_KEY_ID - 启用自动签名(推荐):
git config --global commit.gpgsign true - 验证是否生效:运行
git config --global -l | grep signing,应看到两行匹配
VS Code 中提交时自动签名
VS Code 的源代码管理面板(Ctrl+Shift+G)使用的是底层 Git,只要 Git 已配置 commit.gpgsign true,点击“√”提交或按 Ctrl+Enter 提交时,就会自动签名。
- 首次签名会弹出 GPG 密码输入框(由 gpg-agent 处理),输入后可能勾选“记住密码”,后续一段时间内无需重复输入
- 若未弹出密码框但提交失败,检查终端中运行
git commit -m "test"是否报错;常见问题包括 gpg-agent 未运行、密钥权限错误、或 windows 下需额外配置gpg.program - windows 用户可加一句:
git config --global gpg.program "C:/Program Files/GnuPG/bin/gpg.exe"(路径按实际调整)
验证签名是否生效
提交后快速确认签名是否成功:
- 终端中运行
git log --show-signature -1,看到good signature from ...即表示签名有效 - 在 GitHub 上打开对应提交页面,应显示绿色 “Verified” 标签(若公钥已上传且邮箱匹配)
- VS Code 中鼠标悬停在提交哈希上,状态栏也会显示 “Signed” 字样(需 VS Code 1.85+ 版本)
基本上就这些。不复杂但容易忽略的是:Git 配置必须全局或仓库级启用 commit.gpgsign,VS Code 不会覆盖或绕过它——它只是忠实执行 Git 命令而已。