初始步骤和问题
我在我的Mac上安装了 git ,然后尝试设置 gpg 签名验证,然后按照 github 中的步骤。。
我第一次通过MAC OS 终端进行测试git commit
我被请求我的密码,并正确签名并推动了提示。没有问题。
然后,我通过 Atom 编辑器测试了签名验证。但是,这次git commit
签名失败了。
初步尝试找到解决方案和其他问题
我尝试在 stack Overflow 和 github 上寻找解决方案,但尽管我确实尝试了提出的一些建议,但仍无法找到任何有效的建议。
。不幸的是,现在尝试通过终端到git commit
时,我会收到以下错误消息:
错误:无法运行 - version:没有这样的文件或目录
错误:GPG无法签署数据
致命:未能写入提交对象
我花了几天的时间试图在网上找到解决方案,但没有成功。
我不了解错误消息的第一行(无法运行 - version:没有这样的文件或目录(,也找不到类似的在线发行。
进一步尝试寻找解决方案
在过去的几天中,我根据以下网站的建议尝试了很多事情:
- GPG无法签署数据致命:未能写入提交对象
- Mac上的Git Hub桌面,错误:无法运行GPG:没有此类文件或目录
- 自动GIT提交与OSX上的GPG签名
- 如何设置GPG套件
我也完成了以下操作:
- 通过 GITKRAKEN 测试的GPG签名无问题的工作。
- 使用 github桌面进行了测试,并有以下错误:
错误:提交失败 - 退出代码128,输出:
'错误:GPG无法签署数据致命:未能写入提交对象' - 用 ATOM测试编辑器,并收到以下错误:
无法提交。错误:GPG无法签署数据 致命:未能写入提交对象
- 卸载 gnupg ,并通过 Homebrew 重新安装。
- 最后,我什至尝试安装gpgtools' gpgsuite 。
不幸的是,问题仍然存在,我不再知道该尝试什么。
我为git config -l | grep -E 'gpg|sign
获得的输出是:
user.signingKey = 00C23E4C0619F0BD
commit.gpgsign = true
gpg.program =/usr/local/macgpg2/bin/gpg2
我可以做以下操作: git config --global commit.gpgsign false
,但这无法解决问题,我仍然无法签署我的git commit
。
令我感到困惑和沮丧的是,它在我的第一个git commit
中起作用,遵循 github的官方指南中概述的步骤。从那以后,我不确定自己做了什么,因此它不再起作用。我试图回到轨道并删除任何更改,但是到目前为止,我仍然无法解决此问题。
任何帮助和指导将不胜感激。谢谢!
更新1
出于好奇,我尝试通过终端使用不同的本地回购进行git commit
。该提交没有小故障进行,当我检查 github 时,它已签名并进行了验证。我进行了进一步的测试以通过 github桌面和 atom 进行提交和签名,一切正常,没有任何问题。这是个好消息,给了我希望。但是,我仍然不知道为什么git commit
在一个仓库中工作,而不是我正在测试的另一个仓库。我正在测试的原始仓库仍然无法git commit
,并给出了我上面详细介绍的相同错误消息...我想知道怎么了?
其他信息
我正在运行以下内容:
- MACOS 10.14.4
- git 2.21.0
- gpg(gnupg(2.2.15
更新2和解决方案
测试后,由于该问题似乎仅在我本地git存储库的一个上,而不是在任何其他本地git存储库上 github桌面, atom 和 gpg签名都可以正常工作,并且问题特定于一个本地的Git Repo。
。尽管我已经尽力了,但仍然找不到越野车git repo的问题,因为我似乎没有从 stack Overflow 中获得任何其他潜在客户/解决方案进行以下操作:
- delete 我的本地git repo 有问题。
- reclone 来自远程repo 。
- 成功进行
git clone
用git commit
和 gpg签名 通过终端, github桌面和 atom 。 - 现在所有人都可以正常工作。
我想我可能永远不知道到底发生了什么,但我很高兴确认至少一切正常工作。谢谢 @bk2204