我有一大堆文件(50GB),它们位于远处的两台主机上,我想将它们放在几个
Git存储库中,这样每一个都是另一侧的repo的镜像回购.但我不想通过网络传输文件,因为它需要很长时间(50-60小时)而且由于文件已经在两边都没有必要.
我的想法是在每一侧创建一个Git仓库,将每一侧的所有文件添加到本地仓库,然后从一个到另一个git-pull.我认为Git足够聪明,知道文件(对象)是相同的而不是传输它们.但它似乎并不是因为在一个小样本上,需要很长时间才能完成拉动(主要是在“解包对象”阶段)并且它最大化了两者之间的网络连接.所以在我看来,它正在不必要地转移Git对象.
有没有人有关于如何在不实际传输文件的情况下做到这一点的想法?
谢谢!
最佳答案 这很有趣,这可以工作,因为大文件的内容是相同的(我假设),并应在两端创建相同的目标文件.
在我的本地计算机上对两个repos进行测试表明,不同存储库中的同一文件将具有相同的SHA ID.
检查并查看两个存储库中实际文件的SHA ID是否相同.如果是,那么我们需要弄清楚为什么他们可能会被转移,如果没有,那么找出原因.