git - Git GPG 签名失败,没有明确的消息
问题描述
如果我将我的 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
并且不再做任何事情。
关于如何解决这个问题或研究途径的任何想法?
解决方案
当遇到相同的错误时,我偶然发现了这一点,并且我已经使用了最新版本的 gpg (2.2.17)。对我来说,事实证明这是多方面的。
- 在提交之前,我必须运行
$ export GPG_TTY=$(tty)
. 然后这会提示出现密码提示。 - 如果我使用带有特殊字符的密码短语,它就不起作用(提示说我尝试使用时密码短语错误),所以我只能使用字母数字字符。
如果您这样做是为了在 GitHub 上获得经过验证的提交,请确保名称和电子邮件地址与您在 GitHub 上的内容相匹配。
推荐阅读
- yii2 - Ajax 不适用于特定操作
- xamarin - 实施 Caliburn 引导程序 - 从哪里调用
- google-bigquery - BigQuery 中的不同总结果
- typescript - 在 Typescript 中使用和测试保镖模式
- php - 如何在 Magento 的元描述中附加 sku。?
- .net - 如何从 .NET Blazor 中的另一个 ChildComponent 访问 ChildComponent 中的函数
- django - 使用 SimpleJWT 登录时的 AnonymousUser
- c++ - BMP文件的8位读/写
- python - 如何查看django对象查询速度
- javascript - JavaScript 中的圆周运动未按预期工作