我在不同的站点有一个大型数据集(多TB)的单独拷贝。我认为它应该是只读的,但现在团队希望能够共享编辑。所以我想把它们放在git中的版本控制之下,但不需要重新传输数据集本身。然后我们可以使用git-bundle创建小的增量文件来传输更改。
理想情况下,我可以独立地“git init;git add *”每个站点的数据集,因为数据集副本是相同的,所以初始提交会有相同的校验和,一切都会很好,但我还没能做到这一点。
如果我可以删除与我数据集中的文件相对应的git blob,而不删除对它们的引用(从而创建一个“损坏的”包),然后在另一端重新添加它们,那就太好了,但我找不到低级命令来这样做。
做这件事最好的方法是什么?
发布于 2018-07-03 10:38:45
git提交在两个站点上不会相同,除非它散列的所有内容都是完全相同的。这意味着提交的日期、作者、提交中所有文件的内容、父提交(如果有的话),以及其他我想不到的东西。
您可以尝试使用git commit --date=<some date> --author=<some author>修复这些问题,看看这是否足以使提交匹配。我不知道这是否可行,但值得一试。
不过,从长远来看,这听起来确实会很痛苦。Git实际上并不是为跟踪数‘t的文件而设计的。我觉得你会把自己逼到死角的。您可以查看git-附件或git-lfs,看看它们是否更适合您的需求。或者,也许你需要发明一些自己的增量描述方法,并且只将增量存储在git中。
https://stackoverflow.com/questions/51145875
复制相似问题