Страницы

Поиск по вопросам

пятница, 10 января 2020 г.

Клонирование только определенной директории

#git #git_clone


Подскажите, как-то можно в git клонировать не весь проект ветки master, а только
1 директорию из этой ветки? И в дальнейшем работать с ней?    


Ответы

Ответ 1



Насколько я знаю, скачивать придётся всё равно весь master. Но можно чтобы "распаковывались" не все файлы. git init имяреп cd имяреп git remote add origin ссылка git fetch На этом этапе master (и все другие ветви) будут скачаны, но не распакованы. Теперь включим спецрежим: git config core.sparseCheckout true Укажем какие файлы мы хотим echo вот/этот/каталог >> .git/info/sparse-checkout И распакуем файлы: git checkout origin/master -B master В итоге вот/этот/каталог/файл.txt попадёт в рабочий каталог, а не/тот/каталог/файл.txt нет. Если в репозитории много ветвей и нужно экономить траффик, можно скачивать не все (например, после git remote add изменить файл .git/config, чтобы было не fetch = +refs/heads/*:refs/remotes/origin/*, а только fetch = +refs/heads/master:refs/remotes/origin/master), а также скачивать не всю историю (git fetch --depth=50).

Комментариев нет:

Отправить комментарий