У меня есть репо 10 ГБ на машине с Linux, которая находится на NFS. Первый git status занимает 36 минут, а последующий git status занимает 8 минут. Кажется, Git зависит от ОС для кэширования файлов. Только первые команды git такие как commit, status которое включает упаковку/переупаковку всего репо, занимает очень много времени для огромного репо. Я не уверен, что вы использовали git status в таком большом репо, но кто-нибудь сталкивался с этой проблемой?
Я пробовал git gc, git clean, git repack но затраченное время остается/почти таким же.
Помогут ли субмодули или какие-либо другие концепции, такие как разбиение репо на более мелкие? Если это так, что лучше для разделения большого репо. Есть ли другой способ улучшить время, затрачиваемое на команды git в большом репо?