这是我尝试提交任何文件时得到的输出。我尝试再次安装 git 并在 youtube 上观看了一些教程以重新启动它,但它不起作用。仍然遇到同样的错误:
错误:无法在 gpg.exe 中生成 C:\Program Files (x86)\GnuPG:没有这样的文件或目录 错误:gpg 未能对数据进行签名 致命:写入提交对象失败
如果您在 Windows 中使用 Git bash 来生成密钥而不是 GnuPG Win,那么您需要更新 git 配置以指向 gnupg 的正确位置。在 git bash 中使用正确的位置运行以下命令。
git config --global gpg.program /usr/bin/gpg
如果您不知道位置,请在 git bash 中运行
which gpg
来获取位置。
从错误信息来看:
错误:无法在 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
我也遇到了这个问题,并且能够通过删除 .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
对我来说,正确的答案是
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