Ситуация
Мне удалось создать локальный репозиторий git на своем ноутбуке, вытащив один подкаталог основной ветки в удаленный репозиторий. Я выполнил инструкции, приведенные в этом сообщении на https://stackoverflow.com/a/13738951/5459638. Я использую git версии 2.22.0.
Путь подкаталога относительно https://gitlab.com/<user>/<project>/tree/master
, указанный на веб-странице проекта, содержится в файле .git/info/sparse-checkout
, например
subdir1/subdir11/
Команда
git pull mylaptop master
создает локальную копию предполагаемых каталогов. Это подтверждается tree -d
. mylaptop
было предпочтительным именем для локального репозитория. Это сработало нормально.
Проблема
Затем я хотел получить родственный каталог и его дочерний элемент с того же пульта, скажем
subdir1/subdir12/
Я добавил этот путь в качестве новой строки в файл sparse-checkout и запустил команду git pull выше. Тем не менее, результат
From https://gitlab.com/<user>/<project>
* branch master -> FETCH_HEAD
Already up to date.
и я не вижу изменений в локальном дереве.
Исследовательская работа
Из нескольких предложений, с которыми я столкнулся в Stackoverflow, я попробовал git update-index --skip-worktree
, но безрезультатно. Я сделал это интуитивно и избегал слепых испытаний. Это не вопрос завершающих косых черт в путях.
Вопрос
Очевидно, я упускаю что-то, что заставляет Git понять, что список был расширен. Что бы это могло быть?
git checkout
. - person ElpieKay   schedule 05.08.2019