Для существующих my-repo
, вы можете попробовать sparse checkout
.
echo '*.html' > .git/info/sparse-checkout
git -c core.sparsecheckout=true checkout origin/master
Будут оставлены только HTML-файлы и их родительские папки, а остальные будут скрыты.
Если вам нужно сделать это с нуля, используйте git fetch --depth 1
, чтобы минимизировать затраты времени и сети.
Если это обычная задача с нуля, вы можете заранее создать зеркальный клон, чтобы сэкономить время и пространство для будущих задач.
git clone --mirror https://remote-repo-url -- /path/to/mirror
А для рутинного задания
git clone https://remote-repo-url --reference-if-able /path/to/mirror --depth 1 -- my-repo
cd my-repo
echo '*.html' > .git/info/sparse-checkout
git -c core.sparsecheckout=true checkout origin/master