Git 提交错误:无法生成 gpg.exe:没有这样的文件或目录

问题描述 投票:0回答:4

这是我尝试提交任何文件时得到的输出。我尝试再次安装 git 并在 youtube 上观看了一些教程以重新启动它,但它不起作用。仍然遇到同样的错误:

错误:无法在 gpg.exe 中生成 C:\Program Files (x86)\GnuPG:没有这样的文件或目录
错误:gpg 未能对数据进行签名
致命:写入提交对象失败
git git-commit gnupg git-sign
4个回答
8
投票

如果您在 Windows 中使用 Git bash 来生成密钥而不是 GnuPG Win,那么您需要更新 git 配置以指向 gnupg 的正确位置。在 git bash 中使用正确的位置运行以下命令。

git config --global gpg.program /usr/bin/gpg

如果您不知道位置,请在 git bash 中运行

which gpg
来获取位置。


4
投票

从错误信息来看:

错误:无法在 gpg.exe 中生成 C:\Program Files (x86)\GnuPG:没有这样的文件或目录
错误:gpg 未能对数据进行签名致命:未能写入提交对象

您已打开 git gpg 签名,但未安装 GnuPG。安装它或关闭提交 gpg 签名。您可以在特定提交命令上使用

--no-gpg-sign
标志禁用提交签名:

git commit --no-gpg-sign

通过修改您的全局.gitconfig

来永久禁用它

git config --global commit.gpgsign false

2
投票

我也遇到了这个问题,并且能够通过删除 .gitconfig 文件中 gpg.exe 程序行的引号来修复它。

更新前的.gitconfig 文件=>

[GPG] 程序 = 'C:\Users\TEST\AppData\Local\GnuPG in\gpg.exe'

更新后的.gitconfig 文件=>

[GPG] 程序 = C:\Users\TEST\AppData\Local\GnuPG in\gpg.exe


0
投票

对我来说,正确的答案是

git config --global gpg.program "C:\Program Files (x86)\GnuPG in\gpg.exe" 我在here

找到的

在你的 .gitconfig 中 它必须像这样显示:

[gpg]
    program = C:\\Program Files (x86)\\GnuPG\\bin\\gpg.exe
© www.soinside.com 2019 - 2024. All rights reserved.