2

我想在不克隆所有远程文件的情况下查看文件树。是否可以使用 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 文件。

4

1 回答 1

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
于 2019-07-02T09:51:55.277 回答