【发布时间】:2016-02-05 04:58:52
【问题描述】:
我试图弄清楚一个 git 版本控制的文本文件存储库在理论上是否可以作为知识产权目的的纸质实验室笔记本替代品。
在纸质笔记本中,它的工作方式是您每天写下您的结果,然后实验室中的一两个人在笔记上签字并划掉所有空白处。从理论上讲,这应该表明您对当天所做的事情有一个完美的记录,并且您不能在日期之后添加任何内容。
我认为这可以在 git 中实现的方式是通过将实验结果(即实验室笔记本)推送到 github 上的私有共享 repo 的 repo,并且......不知何故另外两个人检查了在上面? (关于如何执行此操作的建议?)
主要需要注意的是,(如果是,运行所需的代码是什么)可以完全更改特定文本文件的内容和时间戳 - 而不会在整体提交历史?
【问题讨论】:
-
我正在努力解决的要求是从一个提交到下一个提交的所有数据的持久性。通常,Git 允许在提交中修改文件的任何部分,因此审阅者可以有意或无意地删除实验数据。
-
换句话说,来自实验室笔记本的页面实际上具有来自几个“提交”(发起者、审阅者和修改)的状态,而在 Git 中,单个提交代表一个页面处于单一状态。
-
@TimBiegeleisen 我对你的问题有点困惑。因此,在一个完美的世界中(理论上在当前的纸质世界中),一个实验室笔记本每天都有一个由发起者提交的内容。审阅者只需用他们的签名确认时间戳即可。
-
@TimBiegeleisen 在一个数字化的、更合理的世界里,我想做的就是对大多数笔记遵循提交确认模式,但在我犯了错误的情况下(或者可能没有澄清了有关我的实验设置的所有内容)我可以编辑该特定日期的文件,然后让审阅者再次确认新的时间戳,即当天的时间戳。
-
看看下面给出的答案。 Git 可能可以模拟实验室笔记本的行为方式,但每次提交不一定包含实验室中发生的事情的完整历史记录。相反,您必须查看提交组才能实现这一目标。
标签: git version-control reproducible-research