在macOS上签署git提交会不断询问密码短语



我过去在另外两台Mac上设置过Git提交签名,我正试图在新的Mac上设置它,但由于我不理解的原因而失败。所有机器都在运行High Sierra 10.13.6(17G65(

1( 通过Homebrew 安装的软件包

brew install gnupg gpg-agent pinentry-mac gpg1

~/.gnupg/gpg.conf中,我定义了一个密钥服务器,并且

use-agent

~/.gnupg/gpg-agent.conf

pinentry-program /usr/local/bin/pinentry-mac

2( 添加了我的私钥(它在运行gpg -K时正确显示(

3( 如果我运行gpg,例如使用echo "test" | gpg --clearsign,我会看到pinentry提示,其中有一个复选框用于将密码短语存储在Keychain中。此时,再次运行相同的命令将不会再次要求输入密码。

如果我尝试对提交进行签名,我不会得到pinentry提示,而是在终端中得到提示(您需要提供密码短语才能解锁等(。我可以输入密码并进行签名,但每次都需要输入密码短语。

我试过多次卸载软件包并从头开始,但没有成功。

经过至少三个小时的斗争,我意识到Git使用的不是gpg(我正在用echo测试(,而是gpg1。CCD_ 9的行为与CCD_。

不久前,当我的.gitconfig在Homebrew更新后坏了时,我不得不更换它

[gpg]
program = /usr/local/bin/gpg1

出于某种原因,此配置适用于较旧的Mac电脑,但不适用于新的Mac电脑。删除了这一行,使用gpg按预期进行签名,并且没有请求密码。

此时还卸载了gpg1

brew uninstall gpg1

最新更新