Windows 10下如何禁用GPG的PIN/密码超时,避免Git每次提交都输入?
解决Windows 10下GPG PIN/密码超时问题,实现Git提交无需重复输密码
我之前在Windows 10上也碰到过完全一样的困扰,给你一套亲测有效的步骤:
1. 定位GnuPG配置目录
Windows 10下,GnuPG的配置文件默认藏在用户目录的隐藏文件夹里,你可以直接在文件资源管理器的地址栏输入:
%APPDATA%\gnupg
按下回车就能快速打开这个目录。如果之前没配置过GPG,这个目录里可能只有少量无关文件,没关系,我们手动创建需要的配置文件。
2. 创建/编辑gpg-agent.conf文件
如果目录里没有gpg-agent.conf,就新建一个文本文件,然后重命名为gpg-agent.conf(一定要去掉.txt后缀),然后把以下内容复制进去:
default-cache-ttl 0 max-cache-ttl 0 pinentry-mode loopback
default-cache-ttl 0和max-cache-ttl 0:设置密码缓存永不过期(0代表无超时限制)pinentry-mode loopback:允许GPG从终端或IDE(比如VS Code)读取密码,适配Git提交的场景
3. 创建/编辑gpg.conf文件
同样,如果没有gpg.conf就新建一个,添加一行内容:
use-agent
这行的作用是让GPG调用gpg-agent来管理密码缓存,确保上面的超时配置生效。
4. 重启gpg-agent使配置生效
打开命令提示符(CMD)或者PowerShell,执行以下命令:
gpg-connect-agent reloadagent /bye
这个命令会重启gpg-agent,加载我们刚刚设置的新配置。
5. 确保Git与GPG的配置匹配
最后需要让Git正确使用你的GPG密钥,在Git Bash或者PowerShell里执行以下命令(替换成你的实际信息):
# 设置你的GPG密钥ID(可以通过gpg --list-secret-keys查看) git config --global user.signingkey 你的GPG密钥ID # 开启全局提交签名 git config --global commit.gpgsign true # 指定GPG程序路径(根据你实际安装位置调整,64位可能在Program Files下) git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"
完成以上步骤后,你再做一次Git提交,输入一次密码后,后续的提交、签名操作就都不需要重复输入密码了。
内容的提问来源于stack exchange,提问作者SebastianG
相关产品推荐
相关产品推荐

