最佳答案
我有一个10GB 的回购在 Linux 机器上,这是在 NFS 上。第一次 git status
需要36分钟,随后的 git status
需要8分钟。看起来 Git 依赖于缓存文件的操作系统。只有第一个 git
命令,如 commit
,status
,涉及打包/重新打包整个回购需要很长的时间为一个巨大的回购。我不知道你是否已经使用 git status
对这样一个大的回购,但有人遇到这个问题?
我尝试了 git gc
,git clean
,git repack
,但所花的时间仍然/几乎相同。
子模块或任何其他概念,如将回购分解成更小的子模块是否有帮助?如果是这样,那么哪一种方式最适合分割较大的回购协议。有没有其他方法可以改善大型回购中 git 命令所花费的时间?