Windows git 利用sparse-checkout 只下载子文件夹

因为全部项目文件太大,而且只对某几个子文件夹感兴趣,印象中git有个sparse-checkout的功能,因此实践一番,遇到了一些问题,以Tensorflow Models 为例分享一下。

Segmentfault的分享

按照爱睡觉的小猫咪 答案所述

git init models && cd models
git config core.sparsecheckout true //设置允许克隆子目录
echo official/resnet/* >> .git/info/sparse-checkout //设置要克隆的仓库的子目录路径
git remote add origin https://github.com/tensorflow/models
git pull origin master 

这种方法的git pull origin master存疑,我遇到过error: Sparse checkout leaves no entry on the working directory的错误,按照下一方法的git checkout master则没有出现错误。

StackOverflow的分享

git clone -n https://github.com/tensorflow/models
cd tensorflow
git config core.sparsecheckout true
echo official/resnet >> .git/info/sparse-checkout
git checkout master

值得注意的是,无论哪种方法都需要下载.git文件夹,这是git的元数据存储。 大项目的.git元数据通常也比较庞大,比如Tensorflow 元数据133.31MB,Models 的元数据243.66MB,下载依然要不少时间。
当想追加子文件夹时,继续echo official/mnist/* >> .git/info/sparse-checkoutgit checkout master 即可。

如有错误或建议,欢迎交流。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值