更新MacOSX后GPG签名Git提交会在输入密码时卡住

4
我认为这是我更新了最新的OSX版本之后开始发生的,可能包含了Git的新版本,也可能没有。但现在,每次我尝试签署我的提交(通过git commit -Sgit rebase -S)时,几乎都会出现以下情况:
  1. 我会得到密码提示
  2. 输入密码
  3. 按下回车键,什么都不会发生。没有“权限被拒绝:无效的密码”之类的提示。
  4. 我必须按Ctrl-C退出提示。
我不确定这是否是Git或El Capitan 10.11.6上已知的问题,但这让我很烦恼,因为我总是要对我的Git提交进行签名。
我还检查过没有其他GPG进程在运行。

1
尝试在你的gpg.conf文件中添加两行代码 verbose 来获取更多关于发生情况的详细信息。这听起来像是一个gpg-agent问题,但为了进行调试,还需要额外的信息。 - Jens Erat
1
是的,我也以为问题是代理商造成的,但实际上,在提交签名时,代理商并不在后台运行,只是gpg命令在运行。无论如何,我刚刚重启了电脑,问题就解决了。¯\_(ツ)_/¯ 不过还是谢谢你的帮助! - onetwopunch
1个回答

6

编辑:

我也曾经像你一样被"You need a passphrase to unlock secret key for"卡住,使用GPG和git时什么都没有发生。

解决方案是:

export GPG_TTY=$(tty)

它解决了问题,并且现在会用漂亮的提示要求您输入密码。

不要忘记将其添加到您的.bashrc(或.profile / .bash_profile)中:

echo "export GPG_TTY=$(tty)" >> ~/.bashrc
source ~/.bashrc

希望能对您有所帮助 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接