我在共享文件夹中有一个大型存储库。 我在该文件夹的VM中使用git。 一切都很好,但存储库很大 和git搜索所有目录和文件 提交时很慢。 我无法将此存储库移出共享文件夹。
我尝试了git add
特定的文件和目录,
但是当我做git commit -m "something"
时,它仍会继续
通过目录树,这是奇怪的。
我可以执行忽略树的其余部分的提交吗?
答案 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已经是用于共享存储库内容的工具。