У меня была ошибка:
"error: Sparse checkout leaves no entry on the working directory"
при попытке настроить редкую проверку в git на окнах. Я ответил на свой вопрос после изучения проблемы и поиска полного ответа в Интернете.
У меня была ошибка:
"error: Sparse checkout leaves no entry on the working directory"
при попытке настроить редкую проверку в git на окнах. Я ответил на свой вопрос после изучения проблемы и поиска полного ответа в Интернете.
Из папки, в которой вы хотите, чтобы источник работал, с помощью приглашения git - bash NOT powershell (хотя см. мое редактирование ниже):
git clone –n <repo> <local-directory-name>
cd <local-directory-name>
git config core.sparsecheckout true
echo some/sub-folder/you/want >> .git/info/sparse-checkout
git checkout <branch-name>
Редкие проверки позволяют работать с подмножеством репозитория. Его стоит стараться настроить редкие проверки в больших хранилищах, все гораздо быстрее!
Я изо всех сил пытался настроить его на окна, получив много "ошибок: разреженный контроль не оставляет записи в рабочем каталоге". После небольшого исследования я обнаружил, что следующие шаги были минимальными и имели для меня хорошие результаты - YMMV.
Самый важный момент - НЕ ИСПОЛЬЗУЙТЕ POWERSHELL/CMD ДЛЯ ЭТИ ШАГИ - используйте приглашение git bash. Это связано с тем, что в противном случае команда echo создает файл UNICODE с маркером спецификации. Файл ДОЛЖЕН быть файлом формата ANSI с окончанием строки стиля UNIX для git для правильного его анализа. Это наиболее вероятная причина ошибки "error: Sparse checkout не содержит записей в рабочем каталоге".
От родителя каталога, который вы хотите быть корневой папкой, при условии, что имя папки "src" выполняет следующие действия: Это захватывает все репо (которое по-прежнему требуется), но, что важно, не выполняет а также правильно настроит пульт дистанционного управления и отслеживание ветвей.
git clone –n <your repository> src
У вас должна быть довольно пустая папка src (у нее будет скрытая папка .git). Теперь выполните следующее. Это обновляет локальную конфигурацию git, чтобы включить разреженные проверки, и создает файл в скрытой папке .git/info, в которой будут перечислены все папки, которые вы хотите включить, при выполнении разреженной проверки. Это можно отредактировать позже, чтобы добавить другие папки. Важно. Обязательно используйте приглашение git bash для нижеописанного и используйте редактор, поддерживающий соглашения об окончании линии unix и сохраняйте как ANSI при редактировании файла разреженной проверки, или можете get "ошибка: ошибка с ошибкой не содержит записей в рабочем каталоге". <path you want to checkout>
может выглядеть следующим образом: path/to/subfolder
- отметить отсутствие разделителей ведущих и конечных путей.
cd src
git config core.sparsecheckout true
echo <path you want to checkout> >> .git/info/sparse-checkout
Теперь вы готовы к оформлению заказа. Это должно привести к тому, что будут заполнены только разреженные папки. Если это не так, внимательно проверьте правописание всего выше!
git checkout <branch-name>
Недавно я обнаружил, что эхо в powershell является синомой для записи-вывода. Можно получить вывод ASCII путем соединения эха с командой out-file
, которая позволяет вам указать кодировку. Таким образом, это будет работать с Powershell и предоставить правильное содержимое файла:
echo some/sub/folder/you/want | out-file -encoding ascii .git/info/sparse-checkout