2022年,继续做开源的朋友-续篇之稀疏检出

2022年,继续做开源的朋友-续篇之稀疏检出

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://ost.51cto.com​

见社区上有些仓库特别大,下载起来特别花时间。本篇就专门讲述下稀疏检出,如何只检出我们关注的那些文件夹或文件,并整理在《2022年,继续做开源的朋友》系列中。

1、 什么是稀疏检出

如果Git仓库特别大,每次执行Git命令,等待时间会特别长。为解决这些问题,从 1.7.0 开始,Git 引入稀疏检出( sparse checkout)特性,稀疏检出机制允许只检出指定目录或者文件,这在大型 Git 仓库中,将大幅度缩短 Git 执行命令的时间。要想只检出指定的目录或文件,需要在 .git/info/sparse-checkout 文件中指定目录或文件的路径。

下面将以如何快速检出仓库中的https://gitee.com/openharmony/docs部分文件夹为例进行演示。

2、为Git配置稀疏检出

创建一个目录docs,再初始化一个 Git 仓库,以便用稀疏检出的方式检出https://gitee.com/openharmony/docs仓库中的部分文件夹。切换到新创建的目录,然后使用 git config core.sparseCheckout true 命令开启 Git 稀疏检出模式。如下图所示:

mkdir docs
cd docs
git init
git config core.sparseCheckout true
git config --list

2022年,继续做开源的朋友-续篇之稀疏检出

然后编辑该仓库目录下的 .git/info/sparse-checkout 文件,指定检出规则。.git/info/sparse-checkout 中使用和 .gitignore 相同的匹配模式,例如 非匹配 !/dir2/* 以及 /*.java 等。这里只检出https://gitee.com/openharmony-sig/online_event仓库中的/zh-cn/device-dev/kernel 文件夹,并把本地仓库和远程仓库关联起来。

echo zh-cn/device-dev/kernel >> .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/docs.git

2022年,继续做开源的朋友-续篇之稀疏检出

3、检出代码

继续执行命令检出代码,检出效果如图所示。可以看出实际上,只检出了指定的目录。

git pull origin master

2022年,继续做开源的朋友-续篇之稀疏检出

4、关闭稀疏检出

我看看如何检出全部的文件,执行下面的命令,效果如图:

echo "/*" > .git/info/sparse-checkout
git read-tree -mu HEAD

2022年,继续做开源的朋友-续篇之稀疏检出

如果需要彻底关闭稀疏检出,配置 Git 的 core.sparseCheckout 为 false 以及移除 .git/info/sparse-checkout 文件即可。

5、git sparse-checkout命令

对于高版本的git,可以直接使用git sparse-checkout来配置稀疏检出。git新版本下载地址为https://git-scm.com/downloads。对git sparse-checkout命令不再一一介绍了,直接体验下即可快速掌握。命令和执行效果图示如下:

mkdir my-docs
cd my-docs/
git init
git sparse-checkout init
git sparse-checkout add /zh-cn/device-dev
git sparse-checkout list
git remote add origin https://gitee.com/openharmony/docs.git
git pull origin master

2022年,继续做开源的朋友-续篇之稀疏检出

附录-参考资料:

https://git-scm.com/docs/git-sparse-checkout。

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://ost.51cto.com​

2022年,继续做开源的朋友-续篇之稀疏检出

文章版权声明

 1 原创文章作者:扬啟策划,如若转载,请注明出处: https://www.52hwl.com/96924.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年1月16日 下午11:17
下一篇 2024年1月16日 下午11:18