Gitee 已初步支持 Git 部分克隆,不用再克隆整个仓库
最近 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-spec | details | example |
---|---|---|
--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 更新信息如下:
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
KDE Plasma 5.18 LTS 发布了 Beta 版本
KDE Plasma5.18 LTS 发布了 Beta 版本,预计正式版本下个月发布。 此版本带来了众多新特性与改进,主要亮点包括: Plasma 表情符号选择器,可以通过应用程序启动器或使用 Meta+. 键盘快捷方式打开 新的全局编辑模式取代了桌面工具箱按钮,可以轻松自定义桌面布局 改进了应用程序启动器和小部件编辑的触摸友好性 支持使用 Client Side Decorations 的 GTK 应用,为其添加适当的阴影并调整区域大小 GTK 应用现在还可以自动继承 Plasma 的字体、图标与光标等设置 有一个新的“系统任务栏”小部件,用于切换“夜色”功能,默认情况下,它在打开时会自动显示 更紧凑的设计可以在“音频音量系统托盘”小部件中选择默认音频设备 任务管理器中可点击的音量指示器和工具提示项突出显示指示器 隐藏锁屏时钟的选项 现在可以配置打开或关闭“夜色”和“请勿打扰”模式的键盘快捷键 完全改写的通知系统 通知弹出窗口上的超时指示器已变为圆形,并有关闭按钮 已在“文件下载”通知中添加了可拖动的图标,可以快速将其拖动到 现在,当连接的蓝牙设备电量将要用尽时,Plasma 会向显...
- 下一篇
甲骨文在重要补丁更新中发布了 334 个安全修复程序
微软于日前发布了 2020 年 1月补丁程序安全更新,更新内容包括针对 49 个漏洞的修复程序,其中 8 个级别的严重等级为“严重”。而最著名的一个已修复bug 则是默认 Windows 加密库 CryptoAPI(Crypt32.dll)中的一个漏洞,该漏洞由 NSA 发现并报告给 Microsoft。 据 ZDnet报道称,紧随微软之后,甲骨文也为其今年的第一个关键补丁程序更新(critical patch update ,CPU)推出了 334 个安全补丁程序。 值得一提的是,甲骨文 2020 年 1 月的 CPU与有史以来最大的CPU相匹配(发生在 2018 年 7 月的 CPU 中)。总体而言,其 2020 年 1 月的 CPU 解决了 94 种产品中的缺陷。其中,影响 Oracle 人力资源的两个错误的严重等级为 9.9(满分 10)。不过,如果没有身份验证的话,这些错误也不能被远程利用。 影响 Oracle WebLogic Server,Oracle Communications Instant Messaging Server,Enterprise Manager O...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路