本文主要是介绍git仓库太大只下载单个文件或文件夹,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有没有这样的苦恼:仓库太大,只想下载其中某些文件(夹)?
一招解决:
./down_folder_from_git.sh https://github.com/facebook/infer main 'Makefile FILES.md scripts examples'
./down_folder_from_git.sh https://github.com/Tencent/TscanCode master samples
运行前,先修改开头三个变量
原理: 稀疏检出 让工作树仅包含自定义的文件
#!/usr/bin/bash[[ "$#" -ne 3 ]] && echo "$0 仓库 分支 文件(夹)" && exit
addr=$1 #'https://github.com/facebook/infer' # 仓库
branch=$2 #'main' # 分支
obj="$3" #'Makefile FILES.md scripts examples' # 要下载文件夹(夹)
# 1.获取该仓库元信息
git clone -n --recursive ${addr}.git || exit 1
cd ${addr##*/}
# 2.设置git,并指定要下载哪些文件(夹)
git config core.sparseCheckout true
git sparse-checkout set /${obj// / \/}
# 3. 下载文件夹
git checkout $branch
rm -rf .git
:)开心,有么有
这篇关于git仓库太大只下载单个文件或文件夹的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!