Git断点续传和离线增量更新的实现
cnblogs官方支持Markdown写博客了,亲测一下。
什么是Bundle文件
Bundle文件是在packfile文件的基础上增加了代码库的元信息。通俗的说bundle文件就是一个便携版的代码库,里面可以包含代码库所必须包含的信息。
如何创建Bundle文件
参考git手册git-bundle
git bundle create <file> <git-rev-list-args>
如下代码可以创建master分支的bundle
git bundle create repo.bundle master
如下代码可以创建master分支最新10次更新的patch的bundle
git bundle create repo.bundle master~10..master
如何导入Bundle文件
继续参考git手册git-bundle
可以从bundle文件clone一个代码库,同理可以尝试一下从bundle文件fetch最新的代码。
如下代码可以从bundle文件中fetch最新代码
git fetch repo.bundle
如下代码可以从bundle文件中clone完整的代码库
git clone repo.bundle
回到标题,如何断点续传,如何离线更新
都说到这了,还要告诉你如何断点如何离线吗?网上断点下载bundle文件就可以了。至于离线嘛,拿个u盘拷回去就可以了。
举一个例子(是“例子”还是“栗子”)
clone一个新的代码库 git clone https://github.com/Aimeast/GitCandy.git
进入代码库文件夹查看HEAD git show --quiet
commit 6f11ee23c7a4218674ff48590065b11270e180bf
生成最近5次提交的bundle git bundle create ../patch.bundle dev~5..dev
重置当前分支到前5次提交 git reset --hard dev~5
HEAD is now at cb19dcf Fix DetectEncoding
执行gc并强制删除所有过期对象 git gc && git prune --expire 0
从bundle文件获取到最新代码 git fetch ../patch.bundle dev
重置到最新的代码 git reset --hard FETCH_HEAD
HEAD is now at 6f11ee2 Update according to @nulltoken 's advice
打个小广告
Git Candy是一个ASP.NET MVC实现的git版本控制平台,支持公共和私有代码库。
欢迎您的使用!
源码在:http://github.com/Aimeast/GitCandy
对官方Markdown的评价
功能太原始,支持的太少,bug太多,跟GitHub Flavored Markdown的差异太大了。在github和Dingus完美预览的md在这里就错误百出,多次多次修改预览后才成这个样子,无法接受!
强烈建议兼容GitHub Flavored Markdown
并且提供一套默认的CSS供Markdown使用
Git断点续传和离线增量更新的实现的更多相关文章
- 谈谈混合 App Web 资源的打包与增量更新
综述 移动 App 的运行环境具有带宽不稳定,流量收费,启动速度比较重要等特点,所以混合 App 如何加载 Web 资源并不是一个新问题.本文目的是总结出一种资源打包下载的思路和方案,并且提供一种打包 ...
- Android 增量更新(BSDiff / bspatch)
Android 增量更新 BSDiff / bspatchhttp://www.daemonology.net/bsdiff/android的代码目录下 \external\bsdiff bsdiff ...
- 前端遇上Go: 静态资源增量更新的新实践
前端遇上Go: 静态资源增量更新的新实践https://mp.weixin.qq.com/s/hCqQW1F8FngPPGZAisAWUg 前端遇上Go: 静态资源增量更新的新实践 原创: 洋河 美团 ...
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- SSIS Design2:增量更新
一般来说,ETL实现增量更新的方式有两种,第一种:记录字段的最大值,如果数据源中存在持续增加的数据列,记录上次处理的数据集中,该列的最大值:第二种是,保存HashValue,快速检查所有数据,发现异动 ...
- android studio增量更新
一.概述 1.1 概念 增量更新即是通过比较 本机安装版本 和 想要安装版本 间的差异,产生一个差异安装包,不需要从官网下载并安装全量安装包,更不需要将本机已安装的版本下载,而仅仅只是安装此差异安装包 ...
- 【转载】Unity 合理安排增量更新(热更新)
原帖地址:由于我看到的那个网站发的这篇帖子很大可能是盗贴的,我就暂时不贴地址了.避免伤害原作者 原版写的有点乱,我个人修改整理了下. --------------------------------- ...
- Unity5 如何做资源管理和增量更新
工具 Unity 中的资源来源有三个途径:一个是Unity自动打包资源,一个是Resources,一个是AssetBundle. Unity自动打包资源是指在Unity场景中直接使用到的资源会随着场景 ...
- [转载]BW增量更新的理解(时间戳)
在BW中,存在两种数据抽取方式,完全更新与增量更新,完全更新是每次把截至到某个时间的数据全部抽取,增量抽取则只抽取上次和本次抽取之间更新的数据,很显然,增量抽取能够提高系统效率,根据SAP帮 助的说法 ...
随机推荐
- PHP:第一章——PHP中静态变量和常量
<?php header("Content-Type:text/html;charset=utf-8"); /******************************** ...
- glusterfs分布式存储
一,分布式文件系统理论基础 1.1 分布式文件系统出现 计算机通过文件系统管理,存储数据,而现在数据信息爆炸的时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量 ...
- Python 字符串转换为字典(String to Dict)
一.需求 为了处理从redis中拿到的value,如下 {"appId":"ct","crawlSts":false,"healt ...
- Microsoft Jet 数据库引擎 SQL 和 ANSI SQL 的比较
http://westlife063.blog.163.com/blog/static/129942096201052591210384/ Microsoft Jet 数据库引擎 SQL 和 AN ...
- Swift语法笔记
Guard guard是一种条件判断语句,可以类比if.assert.如果条件不符合,guard的else语句就运行,从而退出这个函数. 具体写法如下: func fooGuard(x: Int?) ...
- ansible 删除路径下的多个文件[收集的参考]
How to delete multiple files / directories in Ansible ansible - find, file modules to delete files a ...
- c#版本与vs的对应关系
版本 .NET Framework版本 Visual Studio版本 发布日期 特性 C# 1.0 .NET Framework 1.0 Visual Studio .NET 2002 2002.1 ...
- CUDA ---- Memory Model
Memory kernel性能高低是不能单纯的从warp的执行上来解释的.比如之前博文涉及到的,将block的维度设置为warp大小的一半会导致load efficiency降低,这个问题无法用war ...
- TP 模板的变量输出
- OC基础:内存(进阶):retain.copy.assign的实现原理 分类: ios学习 OC 2015-06-26 17:36 58人阅读 评论(0) 收藏
遍历构造器的内存管理 a.遍历构造器方法内部使用autorelease释放对象 b.通过遍历构造器生成的对象.不用释放. 内存的管理总结 1.想占用某个对象的时候,要让它的引用计数器+1(retain ...