Это, вероятно, очевидно и было задано много раз по-разному, но я не смог найти ответ после поиска в течение некоторого времени.Fetch/Pull Part of Very Large Repository?
Предположим следующее:
- У меня есть, скажем, 500 Гб диск на локальном конце;
- У меня есть удаленный репозиторий на 100 терабайт; поэтому стоимость клонирования всего хранилища просто невозможна;
- Рабочий каталог, используемый для создания удаленного репозитория, состоял из 1000 каталогов верхнего уровня DIR001, DIR002, ... DIR00N, каждый из которых содержит несколько подкаталогов с файлами только под подкаталогами листа (пример DIR001/subdir1/fileA1 ... DIR001/subf1/fileAN и DIR001/subdir2/fileB1 ... DIR001/subdir2/fileBN ...
- Я НЕ явно помечать или отраслевые справочники DIR001, DIR002, ... DIR00N или что-нибудь еще в этом отношении
- Я инициализировать абсолютно новый репозиторий локального GIT
Как эффективно тянуть или принести последний гр ommitted версии, скажем, DIR001/subdir2/fileB1 ... DIR001/subdir2/fileBN из удаленного репозитория и ничего больше?
И
только последняя зафиксированная версия одного файла из DIR001/subdir2/fileB1 ... DIR001/subdir2/fileBN из удаленного хранилища, и больше ничего?
И
Как эффективно тянуть или принести ранее зафиксированную версию подмножества указанных файлов и ничего больше?
Возможно, выборка/вытягивание не является правильной командой для этого.
К сожалению, я не могу ответить на ваш вопрос, но обратите внимание, что подписи и слоган «настоятельно рекомендуются» на StackOverflow. Вы можете найти более подробную информацию здесь: http://meta.stackexchange.com/questions/5029/are-taglines-signatures-disallowed/5038#5038 –
Примечание: с git-lfs (апрель 2015), pull/fetch будет более эффективным. См. Мой отредактированный ответ. – VonC
Git 2.5 (Q2 2015) поддерживает единую фиксацию fetch! Я отредактировал свой ответ ниже, теперь ссылаясь на «[Перенести конкретную фиксацию из удаленного репозитория git] (http://stackoverflow.com/a/30701724/6309)». – VonC