мерзавец я ​​могу ускорить совершение? - PullRequest
22 голосов
/ 20 мая 2010

У меня есть большой репозиторий в общей папке. Я использую Git из виртуальной машины в этой папке. Все работает хорошо, но хранилище большое и git ищет во всех каталогах и файлах когда совершает медленно. Я не могу переместить этот репозиторий из общей папки.

Я пытался git add определенные файлы и каталоги, но когда я делаю git commit -m "something", он все равно уходит на это странно через дерево каталогов.

Могу ли я делать коммиты, которые игнорируют остальную часть дерева?

Ответы [ 3 ]

35 голосов
/ 20 мая 2010

Вы можете попробовать включить параметр preloadindex, описанный на справочной странице git-config :

core.preloadindex

Включить предварительную загрузку параллельного индекса для таких операций, как git diff

Это может ускорить такие операции, как git diff и git status, особенно в файловых системах, таких как NFS, которые имеют слабую семантику кэширования и, следовательно, относительно высокие задержки ввода-вывода. Если для этого параметра установлено значение true, git будет выполнять сравнение индексов с данными файловой системы параллельно, позволяя перекрывать операции ввода-вывода.

Чтобы включить это, используйте:

git config core.preloadindex true
6 голосов
/ 20 мая 2010

В качестве альтернативы изменению вашего естественного рабочего процесса вы можете работать с клоном, который находится в каталоге, который является частным для виртуальной машины. Затем вы отправляете в хранилище в общей папке (которая может быть пустым хранилищем) только тогда, когда вы хотите опубликовать свою работу во внешней среде.

0 голосов
/ 20 мая 2010
git commit <specific-files-and-directories>

может быть? Но мне не нравится идея совместного использования репозитория в файловой системе. Git - это инструмент для совместного использования репозитория content уже.

...