git我可以加快提交吗?

时间:2010-05-20 09:50:10

标签: git version-control virtual-machine

我在共享文件夹中有一个大型存储库。 我在该文件夹的VM中使用git。 一切都很好,但存储库很大 和git搜索所有目录和文件 提交时很慢。 我无法将此存储库移出共享文件夹。

我尝试了git add特定的文件和目录, 但是当我做git commit -m "something"时,它仍会继续 通过目录树,这是奇怪的。

我可以执行忽略树的其余部分的提交吗?

3 个答案:

答案 0 :(得分:35)

您可以尝试启用预加载索引选项,如git-config man page

中所述
  

core.preloadindex

     
    

为git diff

等操作启用并行索引预加载          

这可以加速像git diff和git status这样的操作,特别是在像NFS这样具有弱缓存语义和因此相对较高的IO延迟的文件系统上。将此设置为true,git将并行执行与文件系统数据的索引比较,从而允许重叠IO。

  

要启用此功能:

git config core.preloadindex true

答案 1 :(得分:6)

作为更改自然工作流的替代方法,您可以使用位于VM专用的目录中的克隆。然后,只有当您要将工作发布到外部环境时,才会推送到共享文件夹(可能是裸存储库)上的存储库。

答案 2 :(得分:0)

git commit <specific-files-and-directories>

可能?但我不喜欢在文件系统上共享存储库的想法。 Git已经是用于共享存储库内容的工具。