zoukankan      html  css  js  c++  java
  • git diff打包两个版本之间指定的文件

    命令:git diff b1..b2 --name-only|grep -v -E 'pathA|pathB'|xargs tar zcvf test.tar.gz

    示例:git diff 7ee28d3d..525015f9 --name-only|grep -v -E 'front'|xargs tar zcvf test.1112.1356.tar.gz

    git diff命令比较两个版本的差异,后接版本号,版本号b1和b2是一个7位(windows下的sourcetree中)或8位(ubuntu下的smartgit中)的序列。

    这个序列是一个 40 位的 SHA-1 的哈希值取前7位或者8位,此处不详说。

    --name-only 参数表示只列出这两个版本号之间修改的文件名,不列出详细信息。

    grep命令正则匹配过滤这两个版本号之间不想被打包的文件或目录,-v表示反转查找,-E表示将范本样式为延伸的普通表示法来使用。

    更详细参数可以自行网上搜索(linux grep命令参数及用法)。

    xargs是一条Unix类Unix操作系统的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。

    tar是压缩和解压缩命令,具体用法此处不详说。后接文件名。

  • 相关阅读:
    STM32的低功耗模式
    C语言的面向对象技术
    SDIO学习
    读十倍效率开发者有感
    三极管
    压敏电阻
    freertos之任务
    tsar采集数据原理
    NTP学习路线
    使用awk提取字符串中的数字或字母
  • 原文地址:https://www.cnblogs.com/yixinchen/p/5000268.html
Copyright © 2011-2022 走看看