当前位置: 首页 > 知识库问答 >
问题:

gpg“未能写入提交对象”

隆选
2023-03-14

我正在尝试在OS X Mojave上启用提交签名。

git commit -S -am "Test"

错误是:

error: gpg failed to sign the data
fatal: failed to write commit object

我尝试的是:

  • gpg工作正常(见下文),未安装gpg1gpg2
  • 安装了GPG密钥链并添加了一个新密钥(甚至添加了一个单独的仅限符号的子密钥whithin)
  • 已安装pinentry
  • gpg2--clearsign工作正常(为文件生成新的.asc文件,为纯文本输出文本)

我调查并尝试了各种选择的问题:

  • gpg对数据签名失败致命:写入提交对象失败[Git 2.10.0]
  • git错误-gpg对数据签名失败

我做错了什么?

共有3个答案

南门展
2023-03-14

呵呵,当然,就在我发布这个问题之后,我找到了解决办法。

所以我的问题是我遵循了这个文件:https://help.github.com/en/articles/telling-git-about-your-signing-key

并设置两个GPGsmimemark,当我有Git

因此,我刚刚从global~/中删除了带有smimesign的部分。gitconfig

慕容渊
2023-03-14

我刚刚将密钥ID添加到全局配置中

列出所有键:

gpg --list-keys

选择你添加到github的一个并设置它。

git config --global user.signingkey [public key ID]
伍耀
2023-03-14

我也有这个问题。我找到了一个好办法。在提交之前,请尝试对文件进行签名。

$ touch a.txt
$ gpg --sign a.txt

然后,操作系统将允许您输入密码。如果此步骤正常,现在可以通过正确签名进行提交。

 类似资料:
  • 2048位RSA密钥,ID AAAAAAA,创建于2016-07-01 错误:gpg无法对数据签名致命:无法写入提交对象 注意-我仍然可以使用提交更改

  • [warn]====sbt-plugin-release:trid[warn] http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/com.jsuereth/xsbt-gpg-plugin/scala_2.10/sbt_0.13/0.6/ivys/ivy.xml[warn]:::*::*::*::*::*::*::*

  • 我正在努力完成Vuex的基本任务,但由于某种原因,它不起作用,在四处寻找后,我非常感谢任何帮助。 我想做的是: 使用新属性(对象)更新“我的存储”中对象的列表(对象)。 出了什么问题: 在我从我的组件分派动作以提交新对象之前(我正在通过mapActions访问该动作),列表中任何现有对象中的某些属性都会使用绑定到我的组件中的inputs/v-models的值进行更新。正如我下面的代码所示,我知道与

  • 正在签署的摘要到底是什么?如果签名嵌入到提交对象中,那么它很难是提交哈希本身-那么它是树哈希吗?还是别的什么?这是否意味着提交消息没有签名并且可能被篡改? 注意:我在这里使用一个用--object-type sha256初始化的git存储库来使用基于SHA-256的哈希值(默认情况下git使用SHA-1),但我的问题也适用于带有SHA-1哈希值的git存储库(以防gpg签名对SHA-1和SHA-2

  • 我在我的项目中做过类似的事情。我手动回滚事务,为此我插入了try-catch块并手动回滚catch块中的事务。现在我从method1调用method2,并将对象保存到method2()中的数据库中,但它不会将对象保存到数据库中。 我只是想知道什么是可能的解决方案,保存对象在方法2()在方法1()的faliure。 提前感谢。