笔者想制作一个工具,可以很快速的从git控制下的目录中,找出所有有更改的文件,并且形成升级包,以便于到服务器上的升级工作。
(我们需要将升级包copy到服务器之后,直接将升级包的内容覆盖,就可以完成升级 )
以前这个升级包总是手动创建,很麻烦,尤其是如果文件比较分散的时候,更是如此。
大致思路:
1. 可以使用 git diff --name-only 可以得到一个列表 (这里只显示还没有commit的文件列表)
crontabs/php/create_data_into_sku_flowtype_storage.php
crontabs/php/crontab_script_base_import_to_db.php
这个列表中就包含了所有新建或者修改的目录和文件,只需要按照这个清单“抓药“就好了
2. 根据这个文件中提示的信息,进行逐行分解,得到相应的路径
crontabs/php/create_data_into_sku_flowtype_storage.php
然后,判断这个信息指定的父路径(crontabs/php/)是否存在。
不存在,就依次创建。
再判断这个 是否是目录,如果是,则在目标路径下增加相应的目录(不要复制),
如果不是目录(是文件),那么就复制。
注意目录一概不要复制。
另外,可以使用 git log --oneline 查看历史
参考资料:
陈杰斌, 《git提取出两个版本之间的差异文件并打包》, 2013-09-11, http://www.01happy.com/git-extract-different-files/
- 浏览: 55430 次
- 性别:
- 来自: 广州
最新评论
-
liyu212:
/ruby/1.8/net/smtp.rb:679:in `c ...
send email by Ruby -
hellosoft:
实在有些不好意思,因为时间太久了,我不记得了。呵呵,你自己查一 ...
send email by Ruby -
Jmlover:
密码是怎么设置的?
在doc中看到,说
smtp = Ne ...
send email by Ruby -
hellosoft:
A系统request B系统的一个接口,其中传递的参数是:pa ...
ruby 解释 url 上的 get 参数 -
sun201200204:
url = http://192.168.0.5/B/chan ...
ruby 解释 url 上的 get 参数
相关推荐
《软著源码自动生成2.zip》是一款专为软件著作权申请设计的工具,它能够帮助开发者整理并生成符合申请要求的代码文档。在IT行业中,软件著作权是保护开发者知识产权的重要方式,确保其软件创意和劳动成果不受侵犯。...
标题 "根据SVN日志自动生成补丁" 描述了一个基于SVNKit的自动化工具,该工具能够分析SVN(Subversion)的日志,找出在版本控制中的改动,然后将这些改动打包成升级补丁,并生成相应的更新日志。这个过程在软件开发中...
5. 设置环境变量:安装完成后,Git会自动添加到系统路径,使得在任何目录下都可以通过命令行调用Git。 6. 配置用户信息:首次使用时,需要通过`git config --global user.name "Your Name"`和`git config --global ...
此外,Git的索引和快照生成也得到了加速,这在日常开发过程中会显著减少等待时间。 其次,Git 2.16加强了分支管理。在这一版本中,Git提供了更加智能的分支合并策略,例如“rerere”(rerecorded recursive)功能,...
14.5 Git管家的自动执行/ 196 第3篇 Git和声 第15章 Git协议与工作协同/ 200 15.1 Git 支持的协议/ 200 15.2 多用户协同的本地模拟/ 202 15.3 强制非快进式推送/ 203 15.4 合并后推送/ 207 15.5 禁止非快进式推送/ ...
标题 "自动生成ibatis" 指的是使用特定工具或技术来自动化创建iBATIS(一个SQL映射框架)的相关配置和代码,从而提高开发效率。这个过程通常涉及到解析数据库结构,生成对应的Java实体类、Mapper接口和XML映射文件。...
安装完成后,你可以在Git Bash中使用`ssh-keygen`命令生成一对密钥,并将公钥上传到你的GitHub或GitLab账户。 6. **设置环境变量**:为了让Git命令在任何目录下都能使用,需要将其bin目录添加到系统环境变量PATH中...
1. 创建新项目:使用Angular CLI(命令行接口)初始化新项目,`ng new project-name`会生成一个包含基本结构的Angular项目,这些文件可以立即放入Git仓库进行版本控制。 2. 配置忽略文件:在项目根目录下创建`....
5. **装置**:在实际应用中,实现这一方法的装置可能是一个服务器端的处理系统,它接收更新请求,分析差异,然后生成最小化的升级包。此外,客户端也需要相应的逻辑来识别和应用这些升级包。 6. **效率优化**:抽取...
本文将深入探讨“SQLServer数据库部署工具”,该工具能自动生成数据添加、更新脚本,极大地方便了数据库的维护工作。 首先,我们来了解什么是数据库部署。数据库部署通常涉及创建数据库结构、设置权限、初始化数据...
此外,当项目进行数据库迁移或更新时,这些工具也能帮助生成升级或降级脚本,使得数据库版本控制更加便捷。 对于名为"new_Make"的压缩包文件,它可能包含了这个Schema生成工具的源代码或者可执行文件。为了使用这个...
EF代码生成器将此过程进一步简化,通过自动生成EF相关的数据访问层(DAL)代码,使开发者可以更快速、高效地构建应用程序的数据访问层。 在描述中提到的"EF代码生成器",其主要功能可能包括: 1. **模型类生成**:...
该资源是一个用于自动生成视频导航指引条的源码包,主要应用于视频编辑和增强用户体验的场景。通过这个源码,用户可以根据输入的视频标题和特定时间点,快速创建1920px*54px大小的MP4文件,作为视频播放时的导航条。...
Git是世界上最流行的分布式版本控制系统,它允许开发人员协作开发软件,并跟踪每一次代码更改。...通过这个压缩包提供的Git 2.31.1 64位版本,你可以立即开始或升级你的Git体验,利用上述特性更好地管理你的代码项目。
动软代码生成器是一款高效实用的工具,它能够自动生成与数据库相关的代码,帮助开发者快速构建应用程序。本方案针对的是“动软代码生成器生成MySql数据库文档无注释”的问题,这通常意味着在使用该工具时,生成的...
QQ闪图自动生成系统是一款专为用户设计的编程源码,用于快速制作个性化的QQ闪图,提升在线社交中的互动体验。系统版本为v2.0,表明它在前一版本的基础上进行了升级和优化,可能包含更多的功能和性能改进。 在编程...
通过增量打包生成的补丁包,可以方便地发布到服务器或者应用市场,用户只需下载较小的更新包即可完成升级,极大地优化了更新流程,减少了因大文件下载而导致的失败概率。 7. **提高迭代速度**: 使用这样的工具,...
PyPI中的资源可以被Python的`pip`包管理器用来安装、升级或卸载软件包,使得开发人员能够轻松分享和重用彼此的代码。 在本例中,我们关注的是一个名为`git-browse`的Python库,其版本为2.12.1。`git-browse`是一个...
在【压缩包子文件的文件名称列表】中提到的"Codematic2"可能是该软件的安装包或者更新包,它包含了运行动软代码生成器2.5所需的所有组件和资源,用户可以通过解压并安装这个文件来获取和使用这款工具。 总的来说,...
- **其他的安装方法**:除了官方推荐的方法,社区还提供了多种替代安装策略,如使用包管理器自动安装等。 **管理Gitolite** - **管理员克隆gitolite-admin管理库**:这是Gitolite的核心管理仓库,包含了所有配置...