0

0

在VS Code中为Git提交添加GPG签名以增强安全性

P粉986688829

P粉986688829

发布时间:2025-12-05 21:20:03

|

627人浏览过

|

来源于php中文网

原创

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

在vs code中为git提交添加gpg签名以增强安全性

在 VS Code 中为 Git 提交添加 GPG 签名,核心是让 Git 本身支持签名,VS Code 只是调用 Git 命令的前端——所以配置重点在 Git 和系统环境,而非 VS Code 插件。

生成并配置 GPG 密钥

确保你已安装 GPG 工具(如 gpggpg2),然后生成密钥对:

  • 终端运行 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 提交时,就会自动签名。

易想多用户商城
易想多用户商城

具有智能化、高扩展、稳定、安全等特性,并拥有超强功能,可自由添加频道,后台智能修改风格,只要懂得网站常识的站长就可以轻松利用易想多用户商城建立起专业的大型网店,让网友在其中开店卖东西。易想商城有CMS增加频道功能,能够容易的把商城系统扩展成资讯网站多风格自由切换,全站经过专业的优化处理,让你的网站在百度上轻易的就能找到。易想多用户商城为您提供了先进的网友开店交流平台,功能参考了拍拍网、淘宝网、易趣

下载
  • 首次签名会弹出 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 命令而已。

相关专题

更多
format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

699

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

431

2024.06.27

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

276

2026.01.21

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

683

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

550

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

265

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

550

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

513

2024.04.09

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP数字签名与加密解密
PHP数字签名与加密解密

共12课时 | 1.3万人学习

ThinkPHP开发大型商城项目实战视频
ThinkPHP开发大型商城项目实战视频

共54课时 | 21.3万人学习

第三期培训_PHP开发
第三期培训_PHP开发

共116课时 | 26.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号