Git-按分支/标签名称递归列出文件

时间:2019-07-02 08:57:00

标签: git git-ls-files git-ls-tree

我想查看文件树而不克隆所有远程文件。可以使用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 个答案:

答案 0 :(得分: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