git diff|Git-diff 根据文件扩展名来查看diff差异信息

更新时间:2019-10-04    来源:php常用代码    手机版     字体:

【www.bbyears.com--php常用代码】

在实际工作中,通过git diff来计算代码变更数量,有碰到的需求是,仅仅统计某些类型的文件(带有特殊后缀名/扩展名的文件),比如:仅仅统计当前git repo中的.java、.xml、.c、.cpp这样的文件的该变量。可以有如下两种方法实现让Git根据文件后缀名来统计,而且统计其中各个子目录中的符合条件的文件。

1. 直接使用’*.java’、’*.xml’这样即可,前提是,你的git版本比较新(如:Git >= 1.7.8 之后的版本)

 代码如下 jay@jay-linux:~/aew-backend.git$ git --version
git version 1.7.9.5
jay@jay-linux:~/aew-backend.git$ ls
bug  config.py  lib  mysql  README.md  repo  shell
jay@jay-linux:~/aew-backend.git$ git diff --shortstat e5ffef25 26c8d317 -- "*.py" "*.xml"
 4 files changed, 61 insertions(+), 15 deletions(-)



2. 是用Bash 4.0 开始提供的globstar选项,通过 **/*.py 这样来匹配该目录及其所有子目录中以.py结尾的所有文件,这种方法对Git版本没有特别的要求,不管你的Git是老版本还是新版本都可以的。关于globstar,请参考前面我写过的“使用Bash中的globstart选项”一文。

 代码如下 [repo@hostA aew-backend.git]$ git --version
git version 1.7.1
[repo@hostA aew-backend.git]$ shopt -s globstar
[repo@hostA aew-backend.git]$ git diff --shortstat e5ffef25 26c8d317 -- **/*.py **/*.xml
 4 files changed, 61 insertions(+), 15 deletions(-)

本文来源:http://www.bbyears.com/jiaocheng/71069.html

热门标签

更多>>

本类排行