一、环境
Git 2.34.1
二、前言
一般来说,我们在克隆git仓库的时候,都是一整个仓库都克隆出来的。如果假设现在有一个很大的仓库,仓库里有多个子项目,而我们只想克隆其中一个子项目的时候,应该怎么做呢?
可以使用稀疏检出(sparse checkout)功能。
注意:稀疏检出仍然需要将整个仓库下载下来,并不会缩短你的克隆时间,它只是将其它不需要的文件夹隐藏了而已
三、步骤
假设我们的仓库目录结构如上,repo
是仓库名字,project1
和project2
是仓库里的两个子项目,而我们现在希望只检出apple
文件夹,其它的文件夹隐藏掉。
1)首先,执行以下命令克隆仓库:
git clone --no-checkout https://gitee.com/repo.git
https://gitee.com/repo.git
是git仓库的地址,根据实际情况替换。因为使用了--no-checkout
参数,所以克隆出来的仓库是看不到任何文件的,我们还需要执行稀疏检出操作。
2)开启稀疏检出功能:
cd repo
git sparse-checkout init
3)将apple
文件夹添加到检出目录里:
git sparse-checkout set "/project1/apple/"
set
命令后面可以跟多个子目录路径,例如:
git sparse-checkout set "/project1/apple/" "/project2"
如果多次执行set
命令,后面的命令会覆盖前面的命令,如果不想覆盖,只是仅新增目录,可以使用add
命令。
其它相关命令:
# 查看当前的稀疏检出目录有哪些
git sparse-checkout list
# 关闭稀疏检出功能
git sparse-checkout disable
# 在手动修改了.git/info/sparse-checkout文件的内容后,使修改生效
git sparse-checkout reapply
关于sparse-checkout
命令更多的信息,参阅这里
4)检出
git checkout
完毕!
四、参阅
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 如何克隆Git仓库的子目录:稀疏检出
发表评论 取消回复