Mac 上的 Git Hub Desktop,错误: 无法运行 gpg: 没有这样的文件或目录

试图通过使用 GitHub 桌面提交我的更改,得到如下结果:

enter image description here

错误: 不能运行 gpg: 没有这样的文件或目录

无法运行 gpg。

未能写入提交对象 (128)

首先,在终端上也不起作用,我创建了 gpg-key 并插入到我的 GitHub 帐户中 现在,它的工作在终端,但桌面版本仍然无法工作。

在 GitHub 桌面的官方文档中,我发现了一些注释:

注意: GitHub 桌面不支持 GPG 签名。

39626 次浏览

解决了。

因此,当 GitHub 桌面抱怨找不到 gpg 时(我是通过自制程序安装的) ,我认为应该有一种方法来告诉 git gpg 的确切路径,结果是:

Gpg.program 在制作或验证 PGP 签名时,使用这个自定义程序而不是在 $PATH 上找到的“ gpg”。该程序必须支持与 gPG 相同的命令行界面,即验证一个分离的签名,运行“ GPG ——验证 $file-< $sign”,程序预计通过代码0退出来发出一个良好的签名信号,并生成一个 ASCII 装甲分离的签名,“ GPG-bsau $key”的标准输入被提供要签名的内容,程序预计将结果发送到其标准输出。 Https://git-scm.com/docs/git-config

运行以下命令解决了这个问题:

git config --global gpg.program "$(which gpg)"

GitHub 回复我说,一些用户还需要使用:

echo "no-tty" >> ~/.gnupg/gpg.conf

它与 提交签名(https://help.github.com/en/articles/signing-commits)有关。

如果你使用 Github Desktop (它不支持上面链接的文章开头部分突出显示的 提交签名) ,或者你不需要 提交签名(或者甚至不知道它是什么) ,你可以做的一件事就是通过运行像 git config --global commit.gpgsign false这样的命令来禁用 Gpg 提交签名,或者手动编辑你的 .git/config文件:

[commit]
# https://help.github.com/articles/signing-commits-using-gpg/
gpgsign = false

希望能帮到别人。

VSCODE 用户的解决方案:

在设置项下搜索 GPG 并取消选中:

VS CODE IMAGE

你为什么要取消检查?

只有在使用 GnuPG 时才需要这个分机。如果你不知道它是什么,那么你肯定不需要担心它。

然而,为了以防万一你想知道正在发生什么,检查: Https://www.gnupg.org/

为 Mac 和 gpg2安装

git config --global gpg.program $(which gpg2)

这对我有用。

在上面的命令之后,. gitconfig 应该如下所示

[user]
email = yogesh.jadhav@xxx.com.au
name = jadhavy
signingkey = xxx
[credential]
helper = osxkeychain
[gpg]
program = /usr/local/MacGPG2/bin/gpg2
[commit]
gpgsign = true
[core]
autocrlf = input