相关疑难解决方法(0)

验证签名的git提交?

使用更新版本,git可以使用PGP密钥对单个提交(除标签外)进行签名:

git commit -m "some message" -S
Run Code Online (Sandbox Code Playgroud)

您可以git log使用--show-signature选项在输出中显示这些签名:

$ git log --show-signature
commit 93bd0a7529ef347f8dbca7efde43f7e99ab89515
gpg: Signature made Fri 28 Jun 2013 02:28:41 PM EDT using RSA key ID AC1964A8
gpg: Good signature from "Lars Kellogg-Stedman <lars@seas.harvard.edu>"
Author: Lars Kellogg-Stedman <lars@seas.harvard.edu>
Date:   Fri Jun 28 14:28:41 2013 -0400

    this is a test
Run Code Online (Sandbox Code Playgroud)

但有没有办法以编程方式验证给定提交上的签名,而不是通过grepping输出git log?我正在寻找相当于提交的提交git tag -v- 这将提供退出代码,指示给定提交是否存在有效签名.

git

84
推荐指数
3
解决办法
2万
查看次数

Git 在历史中的某个地方签署提交

在 Internet 的许多部分(例如此处)上,暗示 git 提交必须在完成或从不签名。

然而,从技术上讲,提交上的签名只不过是提交对象上的签名(如此处所示,它由“树”文件的哈希值(即 git 对象的哈希值列表)、哈希值组成父级和一些元数据。

因此,似乎没有什么可以阻止事后签署提交,而无需重写整个历史记录。

真的可能吗?有推荐的方法吗?这样的事后签名能很好地处理推拉操作吗?

git version-control sign git-sign

5
推荐指数
1
解决办法
231
查看次数

标签 统计

git ×2

git-sign ×1

sign ×1

version-control ×1