克隆远程git存储库并发出git show --show-signature
后,它表示签名很好。然后我更改了一些文件并测试了相同的命令,它仍然表示签名很好。
以上命令到底检查了什么?验证克隆git的正确方法是开发人员的意思是什么?
答案 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
用于显示存储库内容。