`
hellosoft
  • 浏览: 54088 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

自动生成升级包(git)

阅读更多

    笔者想制作一个工具,可以很快速的从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/

分享到:
评论

相关推荐

    根据SVN日志自动生成补丁

    用SVNKit制作的自动打包程序,根据SVN提交日志自动打包改动过的文件,制作升级补丁并生成更新日志。

    Git权威指南PDF完整版

    14.5 Git管家的自动执行/ 196 第3篇 Git和声 第15章 Git协议与工作协同/ 200 15.1 Git 支持的协议/ 200 15.2 多用户协同的本地模拟/ 202 15.3 强制非快进式推送/ 203 15.4 合并后推送/ 207 15.5 禁止非快进式推送/ ...

    Jfinalplugin,angularjfinal-angular-icedog.zip

    并提供akka异步执行集成,多数据源自动orm映射,flyway数据库脚本升级, shiro 权限系统 freemarker-shiro标签支持,以及其他改进 使用angularjs作为前端框架, 以及 bootstrap requireJs+coffeescript+less...

    idea插件.rar

    自动生成类set方法 2.GsonFormat 根据JSON创建实体 3.Lombok plugin 简化代码 4. .ignore 忽略git提交文件 5.Alibaba Java Coding Guidelines 代码质量 7、CodeGlance 代码小地图 8.Translation 翻译...

    Android插件

    在Activity,Fragment,Adapter中选中布局xml的资源id自动生成butterknife注解。 使用方法:Ctrl+Shift+B选择图上所示选项 3.Android Code Generator 根据布局文件快速生成对应的Activity,Fragment,Adapter,...

    randori-api-sdk:与Randori API交互的python框架

    Randori API 使用API​​令牌可访问的端点这个Python包是由项目自动生成的: API版本:1.0 套件版本:1.4.0 构建包:org.openapitools.codegen.languages.PythonClientCodegen有关更多信息,请访问要求。 Python 2.7...

    mworks.github.io:MWorks Project网站

    该存储库包含的源,该GitHub通过自动转换为静态站点。 本地测试 要在本地测试对MWorks网站的更改,必须首先安装 。 要在macOS Catalina(10.15)上执行此操作,请在此存储库的最顶层使用cd ,然后运行以下命令: ...

    markdown-styles:Markdown到静态HTML生成器和Markdown的多个CSS主题

    想要在git push上自动呈现Markdown网站? 查看特征v3.2.0删除了对低于v10.12.0的Node版本的支持,删除了mkdirp,以支持本并将所有依赖项升级到了最新版本。 v3.1.10解决了单个文件输入的问题,谢谢@josimard! v...

    symplify:您是否使用Symfony,编码标准,维护PHP软件包,自动化monorepo,生成静态网站,并且您很懒? 您会爱上在这里找到的糖果! :)

    这是一个简短的概述(提示:单击程序包名称,以查看具有更多详细功能的README ):编码标准对于Symfony用于包装开发对于CLI App开发人员对于任何开发人员对于PHPStan爱好者对于CI,确保您的安全语法转换升级贡献与...

    laravel-roles-permissions-manager:具有角色-权限管理的Laravel 6 adminpanel入门样板项目

    该项目的一部分是由自动生成的。 用法 这不是一个包-这是一个完整的Laravel项目,您应该将其用作入门模板,然后添加自己的自定义功能。 使用git clone存储库 将.env.example文件复制到.env并在其中编辑数据库凭据 ...

    ember_f-s-w-t:确保始终保持最新状态。 通过测试从零开始

    我将对npm-check-updates进行脚本化,以将包json更改为*语法并自动运行命令。 我计划集成另一个仍处于beta版的项目有良好的测试依赖项才能正常工作。 希望一切顺利 :face_savoring_food: 。 该项目应对此有所...

    J2eeFAST企业级快速开发平台-其他

    17、公告通知: 针对项目升级重要情况出通知公告直接生成静态页面,可以实现延迟推送,设置时效性,实时。J2eeFAST软件架构:核心框架:Spring Boot 2.2.5.RELEASE安全框架:Apache Shiro 1.4.2模板引擎:Freemarker...

    RapidJSON动态支持库(高性能JSON库)

    (所有取长整数值,若类型是文本型,自动转换时会调用该函数) 2) 升级 rapidjson库到官方最新版本(2018.10.8) 1.0.0.6版-2018.10.8 1) 修复 rapidjson_dll_ec.e RJ生成W.创建对象和RJ生成W.创建数组 键名为空时,...

    fex-team.github.io.zip

    请使用如下命令(其中 gem 是 Ruby 的包管理工具)安装 jekyll(如果遇到权限问题请在前面加 sudo): gem install jekyll 如果在 Mac 下安装遇到编译报错,可以试试用 Brew 安装新版 ruby brew install ruby ...

    KODExplorer 芒果云-资源管理器

    - 自动升级(本地记录版本,服务器js调用 参数 url、###version;忽略此版本。cookie。统计用户) ###ver2.0 debug `2014/3/2` ---- ####fix bug:(bug解决和程序优化) - 优化文件打开处理 - 文件&文件夹:含有%...

    yshop前后端分离商城系统-其他

    yshop基于当前流行技术组合的前后端分离商城系统: SpringBoot2+MybatisPlus+SpringSecurity+jwt+redis+Vue的前后端分离的商城系统, 包含商城、拼团、砍价、商户...11、其他等修复优化,详情请看git commit提交记录

    BookStack在线文档管理系统 v2.10

    目前已支持Git Clone导入项目 5、生成和导出PDF、epub、mobi等离线文档 这个需要安装和配置calibre。 我将calibre的使用专门封装成了一个工具,并编译成了二进制,源码、程序和使用说地址:...

    BookStack在线文档管理系统-其他

    拉取项目经实测,目前已完美支持各种姿势写作的markdown项目的拉取,能很好地处理文档间的链接以及文档中的图片链接目前已支持Git Clone导入项目5、生成和导出PDF、epub、mobi等离线文档这个需要安装和配置calibre...

    Node与Express开发.pdf

    ...............................................................................................................................3 1.4 升级到 Express 4.0 ...................................................

Global site tag (gtag.js) - Google Analytics