如何直接编辑提交的PGP签名?

时间:2019-06-20 15:37:50

标签: git

我正在尝试通过git命令完全复制git提交(具有完全匹配的SHA)。我可以记录PGP签名,但是如何在不使用gpg的情况下将记录的签名插入到新提交中?

这是我要复制的原始提交:

author s130 <author@users.noreply.github.com> 1559763035 -0800
committer GitHub <noreply@github.com> 1559763035 -0800
gpgsig -----BEGIN PGP SIGNATURE-----

 ABCDEFGHIJKLMNOP+BhbCRBK7hj9Ov4rIwAAdHIIAHNl2VzESu4fShThzvvK6SV2
 IDnvDnh1aBlIL4acSGzwzegg0Ldkq1/eumYmXxNiRhQYn65UUA59AwMQzKkDostw
 b8lMXyqi/po1q1r6IK6dW3ES9F7hFVVwJuW0ga6XMVNyMhhDVD2KDROO8kx2bIU7
 i/Vv0vFHXFEc/Ui3UPQ+uIMFNJRB2ZbR4hDoHG92251Ba0rExEKmCc2cKEopoG9m
 OxYFEVKAIbJRAsXK29CsljqNrVaMy91vUEjdh5J9bxRLhiGFksMue2NUtk91cVge
 yWkwnStAU6qH8GFmjxT+7Uh674gkjIBsxVznnZsLBH18XvsRsmGSMAsMl3TmhK0=
 =AB0C
 -----END PGP SIGNATURE-----


Initial commit

这是我的复制尝试:

author s130 <author@users.noreply.github.com> 1559763035 -0800
committer GitHub <noreply@github.com> 1559763035 -0800

Initial commit

唯一的区别是缺少gpgsig标头。如何手动添加/编辑它?

1 个答案:

答案 0 :(得分:1)

您可以自己合成对象并将其传递给git hash-object -w,后者将对其进行哈希处理,然后将其写入数据库。然后,您可以使用git update-ref将其附加到参考(分支,标签等)上。

除了您自己合成对象之外,Git不能为您提供一种创建具有任意签名的对象的方法。