git - git历史可以伪造吗?
问题描述
git历史可以被伪造吗?
例如,我正在考虑以下信息:
- 提交日期
- 提交内容
- 提交者的身份
如是 :
- 有没有办法验证 git repo 的内容或使其可验证?
- 如何知道 git 历史记录是否被修改?
解决方案
您提到的所有字段都是用于识别提交的 SHA-1 的一部分。因此,如果不创建新的提交,就不可能更改这些字段。一个新的提交意味着,git
除非你强迫它,否则任何实现都不会接受重写的提交作为原始提交的替代品。
通常,当您有一个git
提交 ID 时,它是迄今为止所有开发历史的加密哈希,以及包括的所有作者信息。该数据的任何变化都将是可检测的。
如果您想要额外的安全性,您可以使用 PGP 密钥签署提交git commit -S
。
推荐阅读
- typescript - 在 Promise 库上创建一个通用接口
- javascript - javascript中的类追加和删除
- node.js - 在流星中完成页面加载后如何调用函数?
- unity3d - 如何使用 UnityWebRequest 在 Unity 中编写 HTTP 发布请求?
- java - 我无法将 Tomcat webapp 配置为能够在 Eclipse 上进行调试
- ssh - GitLab.com 配置文件上的备用 SSH 连接
- javascript - 在节点模块中导入 Typescript 和 Js 文件的问题
- java - SQLite 驱动程序不适合
- python - 我的程序只计算最后一个值
- arrays - 使用 redux 从数组中删除一个元素