如果我将我的 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
Run Code Online (Sandbox Code Playgroud)
当我尝试运行'gpg' '--status-fd=2' '-bsau' 'SECRETKEYID'它时,它只是在说完之后挂起BEGIN_SIGNING H8并且不再做任何事情。
关于如何解决这个问题或研究途径的任何想法?
q0r*_*ban 13
如果您使用Homebrew安装了gpg,并且也在使用GPGTools,则需要卸载Homebrew的gpg。
# Uninstall gpg in homebrew so that it uses the gpg in GPGTools instead
$ brew uninstall gpg
# You might need to do some extra cleanup afterward as well:
$ rm -r /opt/homebrew/etc/gnupg
# Restart the gpg-agent so that it uses the correct one:
$ gpgconf --kill gpg-agent
Run Code Online (Sandbox Code Playgroud)
之后,git 能够再次签署我的提交。
小智 10
我在遇到同样的错误时偶然发现了这一点,而且我已经在使用最新版本的 gpg (2.2.17)。对我来说,结果是多方面的。
$ export GPG_TTY=$(tty). 然后提示密码提示出现。如果您这样做是为了在 GitHub 上获得经过验证的提交,请确保姓名和电子邮件地址与您在 GitHub 上的内容相匹配。
| 归档时间: |
|
| 查看次数: |
871 次 |
| 最近记录: |