V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ballshapesdsd
V2EX  ›  问与答

为什么 git add 这么慢?

  •  
  •   ballshapesdsd · 2018-08-20 14:18:42 +08:00 · 3213 次点击
    这是一个创建于 2287 天前的主题,其中的信息可能已经有所发展或是发生改变。
    add 大概 10000 个二进制文件,总共 500M 大小,花了 20 分钟。

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

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

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

    @Lfinesse #4 已经试过了 git lfs,时间比不加 lfs 还慢,大概要 30 分钟。我的理解是 lfs 的目的主要是为了节省 clone 的时间和本地的空间,还不清楚是否会在其他方面提高操作二进制文件的效率。
    ballshapesdsd
        6
    ballshapesdsd  
    OP
       2018-08-21 21:26:14 +08:00
    解决了,问题好像出在 windows 上,用 linux 就很快大约 20s,给后来采坑的人一点提示。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   907 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:54 · PVG 05:54 · LAX 13:54 · JFK 16:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.