【问题标题】:Git GPG signing fails without a clear messageGit GPG 签名失败,没有明确的消息
【发布时间】:2018-09-21 13:34:12
【问题描述】:

如果我将我的 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 之后挂起,并且不再执行任何操作。

关于如何解决这个问题或研究途径的任何想法?

【问题讨论】:

    标签: git github gnupg


    【解决方案1】:

    我在遇到同样的错误时偶然发现了这一点,并且我已经使用了最新版本的 gpg (2.2.17)。对我来说,结果证明是多方面的。

    1. 在提交之前,我必须运行 $ export GPG_TTY=$(tty)。然后提示出现密码短语提示。
    2. 如果我使用带有特殊字符的密码短语,它不起作用(提示说我尝试使用时密码短语错误),所以我只能使用字母数字字符。

    如果您这样做是为了在 GitHub 上获得经过验证的提交,请确保名称和电子邮件地址与您在 GitHub 上的名称和电子邮件地址相匹配。

    【讨论】:

    • 当我运行 export GPG_TTY=$(tty) 时没有任何反应
    【解决方案2】:

    在我看到我的 GPG 版本为 2.2.5 而最新版本为 2.2.10 之后,我使用 brew upgrade gpg 在我的 Mac 上更新了 GPG。

    这已经解决了这个问题,现在。但是,我仍然不知道这个问题的原因是什么。

    【讨论】:

      【解决方案3】:

      如果你已经使用 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
      

      在那之后,git 能够再次签署我的提交。

      【讨论】:

      • 这对我有用
      【解决方案4】:

      我遇到了同样的问题。在 GnuPG 配置文件 ~/.gnupg/gpg-agent.conf 中,pinentry-program 路径指向了 pinentry-mac,但丢失了。

      运行 brew install pinentry-mac 修复它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-20
        • 1970-01-01
        • 2022-07-14
        • 2016-05-14
        • 2016-06-16
        • 1970-01-01
        • 2019-05-29
        • 1970-01-01
        相关资源
        最近更新 更多