我们的一个git存储库足够大,git-clone需要花费很多时间(超过几分钟)。 .git目录大约是800M。克隆总是在ssh上的100Mbps lan上进行。即使将ssh克隆到localhost也需要几分钟的时间。
是的,我们将数据和二进制blob存储在存储库中。
如果没有将它们移出去,还有另一种方法可以让它更快吗?
即使移动大文件我们也可以选择,我们怎么能在没有重大中断的情况下重写每个人的历史?
答案 0 :(得分:1)
我遇到了~1GB存储库的相同情况,需要通过DSL传输。我带着经常被遗忘的运动鞋去了:把它放在一个闪存驱动器上,然后把它开到我的车里。这在每种情况下都不实用,但你真的只需要为初始克隆做这件事。之后,转移是相当合理的。
答案 1 :(得分:0)
我很确定你无法在不重写历史记录的情况下移出这些二进制文件。
根据二进制文件的内容(可能是一些预先构建的库或其他内容),您可以使用一个小脚本供开发人员运行后检查并下载它们。
答案 2 :(得分:0)
千兆...光纤...... 没有重写历史,你就相当有限。
你可以尝试git gc
它可以清理一下,但我不确定是否用克隆完成了。
答案 3 :(得分:0)
即使移动大文件我们也可以选择,我们怎么办呢 没有重大中断重写每个人的历史?
检查这个答案: Will git-rm --cached delete another user's working tree files when they pull
此措施以及向.gitignore
添加模式,可以帮助您保留这些大文件。