1

我想将 git 用作电子实验室笔记本(有关示例,请参见https://github.com/cboettig/labnotebook )。但是,我担心,由于可以重新设置基准,我的研究数据的完整性可能会受到质疑。有没有办法验证 git 存储库没有被重新定位?我知道 rebase 存储在 reflog 中,但这些在 30 天后被删除。

或者,我知道我可以使用 mercurial,这不是问题。

4

1 回答 1

1

确保历史完整性的方法是在将新提交推送到存储库时将当前 HEAD 的 SHA1 存储在其他位置。

如果以后该 SHA1 不再是历史的一部分,则意味着某种“历史重写”(rebase, push --force, ...)已经发生。

但是,除了 reflog 之外,repo 本身并没有对其中发生的操作进行审计跟踪。为此,您必须添加一个像gitolite这样的授权层,它带有所说的审计跟踪。

于 2013-10-07T19:44:27.070 回答