Git diff忽略

Let*_*_Be 2 git autotools

是不是可以在git diff中忽略某些文件?我特别感兴趣的是过滤掉Makefile.in,Makefile,configure(以及所有自动生成的垃圾).

mfo*_*ani 5

您可以尝试将文件列表传递给git diff它,它将仅对这些文件执行diff.

根据代码的设置方式,它可以像下面这样简单:

git diff otherbranchname -- src/     # only give me diffs from src/
Run Code Online (Sandbox Code Playgroud)

或者作为难看/复杂的:

git diff otherbranchname -- $( git ls-files |
    perl -lne'next if /(?:[mM]akefile(?:\.in)?|configure|whateverelse)/;print' )
# diff all files which don't match the pattern
Run Code Online (Sandbox Code Playgroud)

根据您要忽略的文件是否由当前分支中的Git管理,您需要将a替换git ls-filesfind *; 使用而不是a find .并添加|.git到Perl表达式.

根据您的需要定制,可能使用您知道要分享的目录/文件名,而不是使用git ls-filesfind.