У меня есть большой репозиторий в совместно используемой папке. Я использую мерзавца из VM на той папке. Все работает хорошее, но репозиторий является поиском крупного и мерзавца всех каталогов и файлов, когда фиксация является медленной. Я не могу переместить этот репозиторий из совместно используемой папки.
Я пытался git add
определенные файлы и каталоги, но когда я делаю git commit -m "something"
это все еще уходит на, он - oddyssey через дерево каталогов.
Я могу сделать фиксации, которые игнорируют остальную часть дерева?
Вы можете попробовать включить опцию preloadindex, описанную в git-config man page:
core.preloadindex
Enable parallel index preload for operations like git diff
Это может ускорить такие операции как git diff и git status, особенно на файловых системах типа NFS, которые имеют слабую семантику кэширования и, следовательно, относительно высокие задержки ввода-вывода. Если установить значение true, git будет выполнять сравнение индексов с данными файловой системы параллельно, позволяя перекрывать IO.
Чтобы включить эту опцию, используйте:
git config core.preloadindex true
git commit <specific-files-and-directories>
может быть? Но мне не нравится идея совместного использования репозитория в файловой системе. Git уже является инструментом для совместного использования репозитория content.
Как альтернатива изменению естественного рабочего процесса, вы можете работать над клоном, который живет в каталоге, закрытом для VM. Затем вы делаете push в репозиторий в общей папке (который, вероятно, может быть пустым репозиторием) только тогда, когда хотите опубликовать свою работу во внешней среде.