码云目前已经初步支持 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条评论来说两句吧...