【发布时间】:2020-05-05 20:18:17
【问题描述】:
我有一个本地 git 存储库并使用 git add file1 file2 file3... 将我的修改添加到 git 索引。之后我使用普通的git commit。每个命令大约需要 3 到 6 秒。我的存储库有大约 150.000 次提交。
我已经执行了git gc,因为我认为它会执行一些垃圾收集。 SSD 相当快。我想知道我可以在 git 中打开哪些螺丝来加速这两个命令的执行。有什么建议吗?
git version 2.21.0 (Apple Git-122.2)
我的系统是装有 MacOS 10.14.6 的 Mac Pro。我使用带有APFS 的SSD。未安装防病毒软件(或任何其他干扰扫描软件)。
【问题讨论】:
-
提交的数量不应该有区别,但被更改的文件数量可能会有所不同。你要添加多少文件?
git add和git commit都需要 3 到 6 秒,还是只是git commit?像git log或git diff这样的其他推荐也很慢吗? -
您可以运行
GIT_TRACE_PERFORMANCE=1 git <cmd>来查看 Git 将时间花在哪里。 -
并且还更新了 git,因为每个版本都引入了性能改进,尤其是对于大型存储库...
-
您要添加什么样的文件?每当您进行提交时,Git 都会使用 zlib 压缩对象,如果您的文件是二进制对象,那么这种压缩将消耗一些 CPU 周期。出于这个原因,git 真的应该只与文本文件一起使用。如果要添加图像、媒体、应用程序二进制文件/档案等二进制对象,则应使用 git-lfs 以便 git 可以将这些未压缩的对象存储在单独的位置。
标签: git