当前位置:首页 > linux教程 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-21 13:01:48 浏览: 评论:0 

git diff 可以显示工作目录与索引区文件之间的差异,我们也可以用 Git-diff 根据文件扩展名来统计某些类型的文件,现在我们就来看看 Git-diff 根据文件扩展名来查看diff信息的方法.

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

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

  1. jay@jay-linux:~/aew-backend.git$ git --version 
  2. git version 1.7.9.5 
  3. jay@jay-linux:~/aew-backend.git$ ls 
  4. bug  config.py  lib  mysql  README.md  repo  shell 
  5. jay@jay-linux:~/aew-backend.git$ git diff --shortstat e5ffef25 26c8d317 -- '*.py' '*.xml' 
  6.  4 files changed, 61 insertions(+), 15 deletions(-) 

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

  1. [repo@hostA aew-backend.git]$ git --version 
  2. git version 1.7.1 
  3. [repo@hostA aew-backend.git]$ shopt -s globstar 
  4. [repo@hostA aew-backend.git]$ git diff --shortstat e5ffef25 26c8d317 -- **/*.py **/*.xml  --phpfensi.com 
  5.  4 files changed, 61 insertions(+), 15 deletions(-)

Tags: Git-diff 文件扩展名 diff差异

分享到: