使用 format-patch 在 git 个补丁中保留 gpg 签名

Keeping gpg signature in git patches with format-patch

我通常使用 gpg 密钥签署我的提交。然而,有时我需要通过电子邮件发送我的补丁,我通过使用 git-format-patchgit-send-email 来实现。但是,这会导致我的 GPG 签名从补丁中删除。我的目标是让其他人实际将补丁应用到存储库并发送,同时保留我的签名以确保代码的真实性。

通过使用 git-am,提交者正在创建一个新的散列,因此是新的提交所以我不确定签名是否有效我不确定 gpg 中有什么用于签名,只有差异,也许?如果是这样的话,我想这会起作用。这可能吗?

我查看了关于 git-format-patch 的 git 文档,似乎有一个 --signature 选项,但没有很好的记录,我尝试做了一些事情将签名附加到补丁,但其中 none 个幸存到目标 git 存储库中。正确的使用方法是什么?

最后,即使添加 --signature 实现了我正在努力实现的目标,但在创建一系列补丁并通过电子邮件发送它们时可能会很麻烦。是否有一个批处理选项可以简单地将我可以清楚地看到附加到使用 git cat-file -p <HASH> 提交的签名附加到使用 git-format-patch 生成的补丁?

谢谢

我不认为 git-format-patch 可以保留签名。你可以试试 git bundle;它当然保留了一切;但是发邮件不太方便