git - git历史可以伪造吗?

标签 git trust authenticity

git 历史可以伪造吗?

例如,我正在考虑以下信息:

  • 提交日期
  • 提交内容
  • 提交者身份

如果是:

  • 有没有办法验证 git 存储库的内容或使其可验证?
  • 如何知道 git 历史是否被修改?

最佳答案

您提到的所有字段都是用于识别提交的 SHA-1 的一部分。 因此,如果不创建新的提交就不可能更改这些字段。新的提交意味着,没有 git 实现会接受重写的提交来替代原始的,除非你强制它。

通常,当您有一个 git 提交 ID 时,它是到那时为止所有开发历史的加密散列,以及包括的所有作者身份信息。该数据的任何更改都将被检测到。

如果您想要额外的安全性,您可以使用 git commit -S 使用 PGP key 签署提交。

关于git - git历史可以伪造吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51840499/

相关文章:

c# - 完整性和真实性

git - Intellij Idea git 别名

git - 最佳实践 : Workflow: When to merge in a inhomogeneous team

git - 我如何拆分埋藏在历史中的 Git 提交?

c# - RemoteCertificateNotAvailable - 身份验证期间未通过根证书

digital-signature - 验证 RFC 3161 可信时间戳

Git 应用补丁静默失败(没有错误但什么也没有发生)

c# - 如何验证客户端应用程序以信任从其发送的消息

ios - IBM MobileFirst : Application Authenticity rejection despite the application's authentic identity?