我知道当 repo 变大时 git 会变慢。
但为什么?
由于 git 将文件存储为单独的目录和.git下的文件,我无法找出操作变慢的原因。让我们看一下提交操作。最近,我克隆了 webkit repo 并从 master 分支,然后我将一个2k文件提交到分支。但我觉得它比我在我的小回购上做的要慢。
因为我没有通读 git 源代码,我猜提交操作会影响将文件存储到磁盘、插入提交日志、更新索引并将HEAD更新为文件的 sha 值。
写入速度很快。
插入速度很快。(我猜,如果插入操作是将日志附加到文件)
更新索引很快。
更新 HEAD 很快。
为什么它很慢?任何人都可以向我说明吗?
谢谢。
一些答案很有帮助但不是很有说服力,提供一些代码片段来支持你会很棒。