zoukankan      html  css  js  c++  java
  • Git做代码增量发布的重要用法

    你以为有 bash git diff --name-only 就够了,NO!

    对于PHP开发的系统来说,增量发布,一般只需部署新增的文件和有变动的文件,但很多时候,文件是删除的或重构成其它文件名或重构到其它目录的,而diff的结果中默认会包含所有变动。

    同时,对于增量来说,还有新增的目录。

    git diff --diff-filter 可以过滤几种不同的变化:

    --diff-filter=[(A|C|D|M|R|T|U|X|B)…[*]]
    

    Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), have their type (i.e. regular file, symlink, submodule, …) changed (T), are Unmerged (U), are Unknown (X), or have had their pairing Broken (B).

    只选择那些添加 (A), 赋值 (C), 删除 (D), 修改 (M), 重命名 (R)的文件, 它们的类型(如 普通文件, 符号链接, 子模块, …) 是否改变 (T), 是否未合并 (U), 是未知 (X), 或它们的对崩溃(B). 任何过滤字符的组合(包括none)均可使用。当组合中包括All或none,如果任一文件匹配了其他选项,就选择了所有路径。如果没有文件匹配其他选项,什么都不做。

    Diff现在支持接受小写字母参数,含义为展示所有非指定类型的变化。

    而加上

    git diff 608e120 4abe32e --name-only | xargs zip update.zip
    

    就可以用于解决服务器端增量创建目录的问题。

  • 相关阅读:
    删除 node_modules文件夹cmd指令
    vue 限制输入字符长度
    vertical-align和text-align属性实现垂直水平居中
    二分查找法
    MySQL实现分页查询
    数据库连接
    AOP编程的常用实现方式
    链表中环的入口
    AQS同步组件及ReentrantLock和synchronized的区别
    快速排序的递归和非递归
  • 原文地址:https://www.cnblogs.com/x3d/p/7551359.html
Copyright © 2011-2022 走看看