Подтвердить что ты не робот

Как git -pull все, кроме одной папки

Есть ли способ git pull всех папок в репозитории, кроме одного? Я не хочу создавать файл .gitignore, потому что другим людям может понадобиться папка - это слишком просто для меня сейчас.

Спасибо!

4b9b3361

Ответ 1

Я не думаю, что вы можете сделать частичное вытягивание, но вы можете попробовать и посмотреть, что произойдет, если вы потянете за рабочее дерево, которое не полностью проверено.

Поскольку Git1.7, вы можете сделать разреженный контроль, как показано здесь то есть ваше рабочее дерево явно исключило бы эту конкретную папку при заполнении ее содержимого.

Теперь, если этот каталог такой большой, может быть лучше изолировать его в автономном репозитории Git, позволяя другим пользователям ссылаться на него как подмодуль.

Ответ 2

Если вы хотите получить право, и вы могли бы:

mkdir <repo>
cd <repo>
git init
git remote add -f origin <url>
git config core.sparsecheckout true
echo <dir1>/ >> .git/info/sparse-checkout
echo <dir2>/ >> .git/info/sparse-checkout
echo <dir3>/ >> .git/info/sparse-checkout
git pull origin master

Я нашел хорошую ссылку здесь.