假设很久以前有人在一些源代码的注释中放置了一个重要的个人身份信息.
进一步假设源代码存在于仍处于活动状态的CVS存储库中,并且该存储库在某些时候又被导入到Git存储库(以及一些克隆)中.
在这个噩梦场景中,CVS或Git中提供以下任何解决方案:
完全删除存储库中的文件,以便无法检出带有PII的旧版本,或者
修改所有过去的修订,以便用X替换PII,比方说?
我觉得CVS 可能有可能,而且在Git中可能根本没有,但我不确定.
谢谢你的帮助.
对于git,我认为这很容易,因为你可以自由编辑所有历史记录(在存储库中,你也有写访问权限,显然,克隆当然会保持不变,直到它们再次更新并进行垃圾收集).看这里:
http://help.github.com/remove-sensitive-data/
我想,对于CVS,你甚至可以直接使用RCS文件,但我对CVS不是很有经验.
另外:因为它不是关于删除某些文件,而是基本上"在它们被投入之前"更改某些文件",它可能已经足以执行git rebase -i并编辑引入PII的那些提交.您可能需要修复稍后删除PII的提交中的一些冲突,但我猜,没关系.优点是您只需要修复那些实际引入/更改PII的提交.