为什么 git add 这么慢?

2018-08-20 14:18:42 +08:00
 ballshapesdsd
add 大概 10000 个二进制文件,总共 500M 大小,花了 20 分钟。

研究了一下 git 的原理,发现好像也就是算了 sha1 值,并且用 zlib 压缩了一下,我写了个脚本用 python 按这样的流程处理了一下,发现只要 50 多秒。

那么问题出在哪?我应该怎么提高 git add 的效率?有没有熟悉 git 的大手子指教一下
3213 次点击
所在节点    问与答
6 条回复
ballshapesdsd
2018-08-20 14:34:08 +08:00
补充一下,是初次添加 10000 个文件,并不是修改
ballshapesdsd
2018-08-20 15:56:53 +08:00
byteli
2018-08-20 18:02:05 +08:00
没研究过 git 原理,猜测是否和是二进制文件有关系。git 对于二进制是否不够友好
Lfinesse
2018-08-20 18:13:10 +08:00
试试 Git LFS

不然在这些二进制文件上操作几波,别人再 clone 没个几小时弄不下来
ballshapesdsd
2018-08-20 18:18:07 +08:00
@byteli #3

@Lfinesse #4 已经试过了 git lfs,时间比不加 lfs 还慢,大概要 30 分钟。我的理解是 lfs 的目的主要是为了节省 clone 的时间和本地的空间,还不清楚是否会在其他方面提高操作二进制文件的效率。
ballshapesdsd
2018-08-21 21:26:14 +08:00
解决了,问题好像出在 windows 上,用 linux 就很快大约 20s,给后来采坑的人一点提示。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/481427

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX