码云目前已经初步支持 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业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
(转)数据库连接池数量设置为多少合适?
一、前言 基本上来说,大部分项目都需要跟数据库做交互,那么,数据库连接池的大小设置成多大合适呢? 一些开发老鸟可能还会告诉你:没关系,尽量设置的大些,比如设置成 200,这样数据库性能会高些,吞吐量也会大些! 你也许会点头称是,真的是这样吗?看完这篇文章,也许会颠覆你的认知哦! 二、正菜开始 可以很直接的说,关于数据库连接池大小的设置,每个开发者都可能在一环节掉进坑里,事实上呢,大部分程序员可能都会依靠自己的直觉去设置它的大小,设置成 100 ?思量许久后,自顾自想,应该差不多吧? 三、假设你的服务有1万并发的访问 不妨意淫一下,你手里有个网站,并发压力虽然还没到 Facebook 那个级别,但是呢?也有个1万上下的并发量!也就是说差不多2万左右的 TPS。 那么问题来了!这个网站的数据库连接池应该设置成多大合适呢? 其实这个问法本身就是有问题的,我们需要反过来问,正确问法应该是: “这个网站的数据库连接池应该设置成多小合适呢?” PS: 这里有一个 Oracle 性能小组发布的简短视频,链接地址为 http://www.dailymotion.com/video/x2s8uec,友情...
- 下一篇
企业级 React 组件库 tinper-bee 发布 2.3.4 版本
tinper-bee 发布 V2.3.4版本: ? 时间控件支持自由设置时、分、秒是否显示 ? Popover 气泡卡片样式优化 ? Upload 拖拽上传,增加文件移入和移出时的钩子函数 ? 优化 Table 表格固定表头样式 ? 修复 Table 组件 onDropBorder 回调触发时机不对的问题 查看详细升级内容:https://github.com/iuap-design/tinper-bee/releases/tag/2.3.4 iuap design 官网:点击查看
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Hadoop3单机部署,实现最简伪集群
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Docker使用Oracle官方镜像安装(12C,18C,19C)