Gitee 官方博客
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee

Gitee 目前已经初步支持 Git 部分克隆

Gitee
5 年前发布在 产品动态
Gitee 目前已经初步支持 Git 部分克隆-Gitee 官方博客

最近 Git 2.25.0 发布,此次发布推出了 partial clones 功能,partial clones 即用户克隆远程存储库的时候,可以选择只下载自身所需的对象,而不是存储库的所有对像(或者特定 commit 所关联的所有对像)。这和微软之前发布的 VFSForGit 原理有异曲同工之妙。使用部分克隆可以大大的减小用户克隆巨大存储库的耗时,也会减小网络数据传输。部分克隆完全依赖 Git Wire Protocol (v2 Protocol)。经过几行代码的适配和线上的批量更新,Gitee 目前已经支持部分克隆了,当你的 Git 版本大于等于 2.25.0,则可以使用如下的命令克隆特定的存储库:

git -c protocol.version=2 clone --filter=blob:none git@gitee.com:YOUR-COUNT/YOUR-REPO.git

在这个命令中 -c protocol.version=2 确保始终使用 v2 协议(当然可以 git config -g protocol.version=2 设置始终使用 v2 协议), --filter 则对克隆过程进行过滤,详细说明如下:

filter-specdetailsexample
--filter=blob:none忽略所有 Blob,只会下载将被检出的对象N/A
--filter=blob:limit=<n>[kmg]限制 Blob 大小,超过多大的就忽略了--filter=blob:limit=10M
--filter=sparse:oid=<blob-ish>稀疏检出相关
--filter=tree:<depth>限制 tree(目录)深度--filter=tree:2

更多的部分克隆过滤器参数信息可以参考:rev-list-options.txt#L735-L780

基于部分克隆实现稀疏检出(这里需要提前设置 git -c protocol.version=2):

$ git clone --filter=blob:none --no-checkout /your/repository/here repo
$ cd repo
$ cat >.git/info/sparse-checkout <<EOF
/*
!/*
EOF
$ git config core.sparseCheckout 1
$ git checkout .

关于稀疏检出的更多细节可以参考相关文档。

与浅表克隆不同的是,部分克隆能够创建提交,这和微软发布的 VFSforGit 类似,但 VFSforGit 实现了文件系统驱动级别的过滤器,可以使用文件系统占位符避免文件的下载,在读写这些文件时,ProjFS 则会从远程存储库下载这些文件。综合来看,Git 的部分克隆是一个巨大的进步,但还有很大的进步空间。

Git 2.25.0 更新信息如下:

  • https://lore.kernel.org/git/xmqqtv4zjgv5.fsf@gitster-ct.c.googlers.com
  • https://github.blog/2020-01-13-highlights-from-git-2-25

》》免费开通 Gitee 企业版:https://gitee.com/enterprises

GitGiteegit克隆

本文系作者 @Gitee 原创发布在 Gitee 官方博客。未经许可,禁止转载。

远程办公一周复盘
上一篇
码云 Gitee 承建光大银行配置管理系统顺利投产
下一篇
近期文章
  • 启航 AI 新航道!Gitee 双十一与你共享智能新未来
  • 《中国DevOps现状调查报告(2023)》发布,Gitee 领跑国产平台
  • 研运一体化之下,Gitee 如何精准赋能银行实施大规模敏捷
  • 对数字「祛魅」,中大型规模企业如何进行有效的研发效能度量?
  • 从混乱到卓越,Gitee Code 如何治好 IT 部门的精神内耗
  • 科技赋能,Gitee 助力国家海关总署实现重大业务改革
  • 科大讯飞选择Gitee旗舰版,完成研发协作平台国产化替代
  • 用脑图做测试用例,高效到家了!
  • 信创驶入快车道,中国赛宝实验室选择 Gitee 搭建高效研发协作平台
  • 金融人怎么写出安全可靠的代码?知名证券企业这样做
相关文章
《中国DevOps现状调查报告(2023)》发布,Gitee 领跑国产平台
研运一体化之下,Gitee 如何精准赋能银行实施大规模敏捷
对数字「祛魅」,中大型规模企业如何进行有效的研发效能度量?
从混乱到卓越,Gitee Code 如何治好 IT 部门的精神内耗
关于我们

Gitee(gitee.com)是 OSCHINA.NET 推出的代码托管·协作开发平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 1200 万的开发者选择 Gitee。

品牌内容
开源软件 GVP计划 Gitee 封面人物 CopyCat 代码克隆检测
友情链接
开源中国 Gitee Gitee 高校版 Gitee 企业版
Copyright © 2013-2025 Gitee 官方博客. Designed by nicetheme.
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee
热门搜索
  • Gitee
  • gitee 企业版
  • 码云
  • 开源项目
  • 码云Gitee
  • GVP
  • Git
  • 开源
  • 码云企业版
  • 码云周刊
  • 码云 gitee
  • DevOps
  • gitee企业版
  • 内源
  • 内部开源
  • innersource
  • 小程序
  • 企业版
Gitee
Top