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
    

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

  • 相关阅读:
    ubuntu播放器
    第一次装ubuntu 没root密码时
    web服务器记录
    socket udp编程步骤
    nfs服务器配置
    带线程函数编译条件
    linux使用一个刚编译驱动方法
    tiny6410_led驱动Makefile
    java-设计模式-外观模式
    java-实现一个简单的java Web容器
  • 原文地址:https://www.cnblogs.com/x3d/p/7551359.html
Copyright © 2011-2022 走看看