【问题标题】:Is there a way to prove that a git commit was made at a certain time?有没有办法证明在特定时间进行了 git 提交?
【发布时间】:2023-02-14 01:33:01
【问题描述】:

我想为 git 托管平台找到一种方法,它会在我每次推送提交时以某种方式记录。

我希望这个日志是不可篡改的,因为我无法让它看起来好像提交比实际完成更早。

我尝试在网上搜索解决方案,但没有找到任何解决方案。

几种解决方案包括:

  • 一个特定的托管平台,具有专门记录推送时间的设置,在用户不可编辑的地方,以无法伪造的方式
  • 一个 git 托管平台,我可以在其中查看 git 的内部目录并查看 git 对象的修改日期
  • 您可能想到的任何其他内容

你们中有人知道什么可能符合要求吗?

谢谢!

【问题讨论】:

    标签: git


    【解决方案1】:

    是的,您可以使用一些选项来创建防篡改和不可变的 Git 提交日志。以下是一些最流行的: 1. Git 提交签名:您可以使用 GPG 密钥对 Git 提交进行签名,以确保提交的真实性不会被篡改。这种方法常用于开源项目中,以确保代码库的完整性。 2. Git 阻塞哈希:另一种选择是使用 Git 阻塞哈希,它是整个 Git 历史的加密哈希。这使得某人不可能在不被发现的情况下更改历史记录。 3. Git 注释:Git 注释允许您将附加信息附加到提交中,它们存储在 Git 存储库本身中。您可以使用 Git 注释来记录提交的时间,一旦提交,此信息就无法更改。 4. 基于区块链的 Git 托管平台:最后,有几个基于区块链的 Git 托管平台,例如 SourceCred,它们使用区块链技术的不变性来记录 Git 提交。这提供了 Git 历史记录的防篡改日志,并且还可以激励对项目的贡献。总之,有几个选项可用于创建 Git 提交的防篡改日志。您可以根据安全级别、复杂性和您已经使用的工具来选择最适合您需求的一种。

    【讨论】:

      猜你喜欢
      • 2015-11-29
      • 2021-06-24
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      相关资源
      最近更新 更多