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