当我尝试提交任何文件时,这就是我得到的输出。我尝试再次安装 git 并在 youtube 上观看了一些教程以重新启动它,但它没有用。仍然收到相同的错误:
错误:无法生成 C:\Program Files (x86)\GnuPG\bin\gpg.exe:没有这样的文件或目录 错误:gpg 未能签署数据 致命:未能写入提交对象
当我尝试提交任何文件时,这就是我得到的输出。我尝试再次安装 git 并在 youtube 上观看了一些教程以重新启动它,但它没有用。仍然收到相同的错误:
错误:无法生成 C:\Program Files (x86)\GnuPG\bin\gpg.exe:没有这样的文件或目录 错误:gpg 未能签署数据 致命:未能写入提交对象
从错误信息来看:
错误:无法生成 C:\Program Files (x86)\GnuPG\bin\gpg.exe:没有这样的文件或目录 错误: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\bin\gpg.exe'
更新后的 .gitconfig 文件 =>
[gpg] 程序 = C:\Users\TEST\AppData\Local\GnuPG\bin\gpg.exe
如果您在 Windows 中使用 Git bash 而不是GnuPG Win来生成密钥,那么您需要更新 git config 以指向 gnupg 的正确位置。在 git bash 中使用正确的位置运行以下命令。
git config --global gpg.program /usr/bin/gpg
如果您不知道该位置,请which gpg
在 git bash 中运行以获取该位置。