如果我把Git设置为使用GPG密钥签名,它会失败。我试过GIT_TRACE,但它并没有给予我更多的信息:
$ GIT_TRACE=1 git commit
15:29:35.112157 git.c:344 trace: built-in: git 'commit'
15:29:35.115745 run-command.c:626 trace: run_command: 'code --wait' '/Users/b/VurbAgency/haarlem.github.io/.git/COMMIT_EDITMSG'
15:29:52.884006 run-command.c:626 trace: run_command: 'gpg' '--status-fd=2' '-bsau' 'SECRETKEYID'
error: gpg failed to sign the data
fatal: failed to write commit object
当我尝试运行'gpg' '--status-fd=2' '-bsau' 'SECRETKEYID'
时,它只是在说BEGIN_SIGNING H8
后挂起,不再做任何事情。
关于如何解决这个问题或研究的途径有什么想法吗?
5条答案
按热度按时间toe950271#
我在遇到同样的错误时偶然发现了这一点,而且我已经在使用最新版本的GPG(2. 2. 17)。对我来说,结果是多方面的。
1.在提交之前,我必须运行
$ export GPG_TTY=$(tty)
,然后出现密码提示。1.如果我使用带有特殊字符的密码,它就不起作用(提示说我在尝试使用时密码不正确),所以我只能使用字母数字字符。
如果你这样做是为了在GitHub上获得经过验证的提交,请确保用户名和电子邮件地址与你在GitHub上的一致。
j9per5c42#
如果您使用Homebrew安装了gpg,并且还使用GPGTools,则需要卸载Homebrew的gpg。
在那之后,git又可以签署我的提交了。
bvhaajcl3#
我遇到了同样的问题,在GnuPG配置文件
~/.gnupg/gpg-agent.conf
中,pinentry-program
路径指向pinentry-mac
,而pinentry-mac
丢失了。运行
brew install pinentry-mac
修复了它。gev0vcfq4#
在我看到我的GPG版本是2.2.5,最新的是2.2.10之后,我已经用
brew upgrade gpg
更新了我的Mac上的GPG。目前,这已经解决了这个问题。但是,我仍然不知道这个问题的原因是什么。
uujelgoq5#
我遇到了一个类似的错误:
BEGIN_SIGNING H10
.在OSX上,为了修复它,我运行
gpgconf --kill gpg-agent