验证git存储库的方法还没有重新定位?

时间:2013-10-07 19:35:16

标签: git rebase

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

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

1 个答案:

答案 0 :(得分:1)

确保历史记录完整性的方法是在将新的提交推送到您的仓库时,将当前HEAD的SHA1存储在别处。

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

但是除了reflog之外,repo本身并没有对其中发生的操作进行审计跟踪。为此,您必须添加authorization layer之类的gitolite,其中包含上述审核跟踪。