我有gpg-agent.exe运行,但是当我尝试时git commit,它抱怨找不到 GPG 代理:
$ gpg-agent --daemon
gpg-agent[17440]: a gpg-agent is already running - not starting a new one
$ git commit -m "foo"
You need a passphrase to unlock the secret key for
user: "Oliver Salzburg <oliver.salzburg@gmail.com>"
4096-bit RSA key, ID 5826006B, created 2016-12-05
gpg: gpg-agent is not available in this session
Enter passphrase:
Run Code Online (Sandbox Code Playgroud)
到底是怎么回事?
小智 35
当提交时发出此消息时:
gpg:无法连接到 gpg-agent:IPC 连接调用失败
gpg:keydb_search 失败:没有正在运行的代理
以下命令在 Windows 上启动 gpg-agent:
gpg-connect-agent reloadagent /bye
重新加载代理后,签名密码提示将正确显示。
环境
Windows 11 Home 21H2
git 版本 2.32.0.windows.2
gpg (GnuPG) 2.3.1
gpg-agent (GnuPG) 2.3.1
您的gpg-agent和gpg二进制文件很可能来自不同的包。
当您使用Git Bash(附带gpg)并且另外安装GnuPG4Win时,可能会发生这种情况。后者带有更新的版本。
您可以通过检查两个程序的版本来验证这是否是您的问题:
% gpg-agent --version
gpg-agent (GnuPG) 2.1.7
% gpg --version
gpg (GnuPG) 1.4.19
Run Code Online (Sandbox Code Playgroud)
如果这是您的问题,您应该告诉使用git哪个gpg二进制文件:
% git config --global gpg.program gpg2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4547 次 |
| 最近记录: |