尝试通过使用GitHub桌面提交我的更改,并获得以下结果:
错误:无法运行gpg:没有这样的文件或目录
错误:无法运行gpg。
致命:无法写入提交对象(128)
首先,这不适用于终端,我创建了gpg-key,并插入到我的GitHub帐户,现在它在终端上工作得很好,但桌面版仍然不能工作。
在GitHub桌面的原始文档中,我发现了一些符号:
注意: GPG不支持GitHub签名。
发布于 2016-05-17 03:28:16
解决了它。
所以当GitHub桌面抱怨找不到gpg (我是通过自制软件安装的)时,我想应该有一种方法来告诉git gpg的确切路径,结果是:
gpg.program在制作或验证PGP签名时使用此自定义程序,而不是在$PATH上找到的"gpg“。该程序必须支持与GPG相同的命令行界面,即,为了验证一个分离的签名,运行"gpg --verify $file - <$ signature“,程序期望通过代码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
发布于 2019-05-23 22:05:57
它与commit signing (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
希望这能帮助到别人。
发布于 2021-01-24 11:26:54
VSCODE用户的解决方案:
在设置下搜索GPG,然后取消选中:
现在,为什么要取消选中它?
只有在使用Gnu Privacy Guard时才需要此扩展。如果你不知道它是什么,那么你绝对不需要担心。
但是,如果您想知道发生了什么,请查看:
https://stackoverflow.com/questions/36941533
复制相似问题