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