究竟“git show --show-signature”验证了什么?

时间:2016-12-10 22:14:21

标签: authentication digital-signature git

克隆远程git存储库并发出git show --show-signature后,它表示签名很好。然后我更改了一些文件并测试了相同的命令,它仍然表示签名很好。

以上命令到底检查了什么?验证克隆git的正确方法是开发人员的意思是什么?

2 个答案:

答案 0 :(得分:2)

git show --show-signature正如其在联机帮助页中所说的那样:

  

- 显示签名

     

通过将签名传递给gpg --verify并显示输出来检查已签名提交对象的有效性。

您之前必须导入了回购作者的公钥,以便GPG 可以知道在哪里寻找它。你需要阅读一个教程 了解GPG如何工作以充分了解其工作原理。

现在问题的第二部分,git show没有 显式提交SHA-1或对象名称通常适用于当前 HEAD。如果您刚刚修改了工作副本中的某些文件,但是 没有提交更改然后HEAD和你的所有其他提交 存储库将保持不变,因此git show --show-signature 将显示与完全克隆后的完全相同的信息 存储库。如果您决定提交更改,则会移动 你的HEAD提交但不会修改以前的HEAD,因此git show --show-signature HEAD^仍会显示一切正常。

答案 1 :(得分:0)

承诺不要改变。 git status将报告您的工作树状态; git show用于显示存储库内容。