从github下载的zip上的签名不匹配



当我在github上点击包的"下载zip"按钮时,或者通过https://github.com/{username}/{projectname}/archive/{sha}.zip,文件的sha1sum最终出现在我的计算机上,与网页上显示的不一致。

为什么会发生这种情况?沙苏姆不匹配是不安全的。如何在不使用"git"命令或不必在github上创建帐户的情况下下载带有可验证hashsum的提交的完整源代码(因为我只想下载一次库供本地使用,而不是编辑它)。

谢谢!

使用以下url下载repo源内容。。。

https://github.com/{username}/{projectname}/archive/{sha}.zip

将使用以下url 检索提交中包含的代码源

https://github.com/{username}/{projectname}/commits/{sha}

在检索到的存档上运行sha1sum将不会生成目标提交的sha。

Git依赖SHA-1哈希来唯一识别其内部对象的方式在Pro Git书的本章中有详细解释。您会注意到,任何commit的sha都将取决于其父commit(以及其所有祖先的间接sha)。这意味着,为了生成这样的sha,您需要导致此提交的所有更改的整个历史。

为了安全地验证源代码没有被更改,并且与GitHub上显示的提交sha匹配,除了克隆完整的存储库并运行以下命令之外,没有其他方法了。此命令将使用提交的内容更新您的工作目录。

git checkout {sha}

如果git找不到与此sha匹配的提交,则该命令将失败。

最新更新