git diff 只比较某几类文件,根据扩展名筛选文件

git diff 只比较某几类文件

    • 1. git diff 保留指定扩展名的文件
    • 2. git diff 排除某类文件
    • 3. 参考

git diff
git diff
git diff

1. git diff 保留指定扩展名的文件

只比较特定类型的文件,其他文件不比较。

例1:只比较 .java.kt.jar.aarAndroidManifest.xml.gradle 文件
(不加单引号也可以)
git diff -- **/*.java **/*.kt **/*.jar **/*.aar **/AndroidManifest.xml **/*.gradle

例2:为类型加上单引号(经测试,双引号也可以):
git diff -- '**/*.java' '**/*.kt' '**/*.jar' '**/*.aar' '**/AndroidManifest.xml' '**/*.gradle'

例3:显示统计信息:--stat=300 或者 --stat
git diff --stat=300 -- **/*.java **/*.kt **/*.jar **/*.aar **/AndroidManifest.xml **/*.gradle
默认是 80 列,或者根据当前终端的宽度来定。
--stat=300 基本上可以显示全文件路径。

2. git diff 排除某类文件

把某几类文件过滤掉,不比较:

例1:不比较 .xml, .png, .txt 文件
git diff -- ':^*.xml' ':^*.png' ':^*.txt'

例2: 显示统计信息
git diff --stat=300 -- ':^*.xml' ':^*.png' ':^*.txt'

例3:排除某些路径中的文件,过滤掉 xx/res/xx/ 中的 png 文件、webp 文件、xml 文件,过滤掉 xx/androidTest/ 目录下的所有文件,过滤掉 xx/src/test/ 目录下的所有文件
git diff --stat=500 -- ':^**/res/**/*.png' ':^*.txt' ':^**/res/**/*.webp' ':^**/res/**/*.xml' ':^**/androidTest/**' ':^**/src/test/**'

3. 参考

https://deepinout.com/git/git-questions/1138_git_how_to_filter_git_diff_based_on_file_extensions.html

你可能感兴趣的:(#,git,git)