Git - рекурсивный список файлов по имени ветки / тега

Я хочу видеть деревья файлов без клонирования всех удаленных файлов. Возможно ли использовать команды git?

мерзавец версия 2.21.0

Мои текущие команды ниже:

- mkdir my-repo && cd my-repo
- git init
- git remote add origin https://remote-repo-url 
- git fetch
- git checkout origin/master -- '*.html'

Как я могу получить только файлы.html так быстро, как я могу? Мой репо действительно огромный. Мне нужны только файлы.html.

1 ответ

Для существующих 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
Другие вопросы по тегам