对于现有的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