Расширения Git для проекта размером 20 ГБ занимают слишком много времени (и открываются как 100 процессов git.exe) только для того, чтобы показать изменения перед постановкой.

Когда я запускаю Git Extensions в очень большом проекте (5 ГБ и много файлов), требуется много времени (и создается около 100 процессов git.exe), чтобы показать мне изменения перед постановкой.

.git folder has: 7.5 GB
only my files: ~20GB

Я действительно не знаю, что сделать, чтобы заставить его работать...


person Totty.js    schedule 26.02.2013    source источник
comment
git на самом деле не предназначен для использования в репозиториях такого размера.   -  person Daniel Hilgarth    schedule 26.02.2013
comment
тогда что мне использовать. Я много раз слышал, что git масштабируется до таких размеров, но в моем случае это не так.   -  person Totty.js    schedule 26.02.2013
comment
Можете ли вы привести некоторые из этих утверждений?   -  person Daniel Hilgarth    schedule 26.02.2013
comment
У меня их нет, как я уже сказал, я где-то слышал...   -  person Totty.js    schedule 26.02.2013
comment
Что действительно убивает git, по моему опыту, так это бинарные файлы: большинство из них бинарные? Можете ли вы уменьшить его, например. вытягивание ваших зависимостей с помощью maven или NuGet, перемещение изображений в другое хранилище, что-то еще?   -  person Rup    schedule 26.02.2013
comment
Производительность git также снижается из-за наличия десятков тысяч файлов: stackoverflow.com/questions/3313908/, здесь описан один потенциальный обходной путь: stackoverflow.com/questions/9669882/slow-git-operations   -  person Gavin    schedule 26.02.2013
comment
Возможно, вы захотите попробовать просто использовать командную строку и посмотреть, будет ли производительность более приемлемой. GitExtensions может выполнять больше работы, чем вам нужно. Однако Git работает быстрее в Linux. В Windows перебор рабочего дерева занимает довольно много времени. Кроме того, многие данные кэшируются — как только вы превысите системную оперативную память, она начнет подкачиваться и значительно снизит производительность. Установить 32 Гб оперативной памяти? :)   -  person patthoyts    schedule 26.02.2013
comment
@Rup: да, много двоичного кода. Это не программный проект, это скорее папка для управления бизнесом с файлами Excel, Word, PDF и изображениями.   -  person Totty.js    schedule 26.02.2013
comment
@patthoyts: 32 ГБ ОЗУ на 32-битной Win XP? не думаю.. Это тоже старый портативный компьютер. Я не хочу использовать строку cmd, потому что сложнее выбрать файлы, которые я хочу разместить...   -  person Totty.js    schedule 26.02.2013
comment
Если вам действительно не нужны распределенные функции, я бы использовал Subversion. Насколько я знаю, проблема в том, что Git пытается провести умный кросс-файловый анализ при отправке, и это не работает с двоичными файлами. Как только я переключил папку с электронными книгами в формате PDF с Git на Subversion, все заработало намного лучше. Тем не менее, может быть более подходящее решение без VCS, например. CMS или специализированная система хранения документов, которая подойдет вам больше.   -  person Rup    schedule 26.02.2013
comment
Мне нужно, но я могу жить без него..   -  person Totty.js    schedule 26.02.2013


Ответы (1)


Настоящий криптонит Git сейчас — это действительно гигантские репозитории (например, файлы размером в гигабайты).

Люди будут кричать на вас о том, что «вы не должны контролировать версии двоичных файлов». И если файлы неизменны, они правы...

Однако, независимо от размера файла, если файл часто изменяется (вы «открываете его», «меняете что-то» и «отправляете сохранение» на регулярной основе), существует буквально несколько версии этого файла. По определению вам нужен контроль версии

Не в Windows

Если вам не нужно иметь дело с Windows, ваш ответ прост. Конкуренции просто нет: git-annex — это то, что вам нужно; хотя отсутствие Windows действительно вредит

В Windows

Для тех из нас, кто застрял в Windows, эта ветка обмена стеками и в этом stackoverflow есть несколько хороших указателей, но нет серебряных пуль :(

В настоящее время я больше всего надеюсь, что git-annex возможно, появится в Windows или bup становится менее "передовым"

person Bukov    schedule 21.03.2013