Git разреженная проверка: добавление каталогов в существующий список не распознается

Ситуация

Мне удалось создать локальный репозиторий 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 понять, что список был расширен. Что бы это могло быть?


person XavierStuvw    schedule 05.08.2019    source источник
comment
Попробуйте git checkout.   -  person ElpieKay    schedule 05.08.2019
comment
@ElpieKay Когда? То есть после и до чего?   -  person XavierStuvw    schedule 05.08.2019


Ответы (2)


После добавления нового пути к .git/info/sparse-checkout выполните

git checkout master

Таким образом, вы делаете это вместо начальной команды git pull.

person romor    schedule 16.01.2021

Вам нужно будет объединить и обновить файлы в рабочем дереве.

Просто запустите:

git read-tree -mu HEAD

Дополнительная информация: git-read-tree

person hasi90    schedule 29.11.2019