5
按更改类型过滤git diff
有没有办法限制git diff更改的文件? 我想查看两次提交之间的差异,但排除一个或另一个不存在的路径(添加/删除)。以下Perl一线式说明了我想要的大部分内容: git diff master.. | perl -lnwe 'print unless /^(new|deleted) file/../^diff/ and not /^diff/' 但这会留下diff --git a/path b/path新文件或已删除文件的行。加上如果我不必解析(例如,如果大块包含与/ ^ diff /匹配的任何东西也会失败)会更好。 我尝试过的另一个选择是: git diff --name-status (args) | perl -lnwe 'print if s/^M\s+//' | xargs git diff (args) -- 它的输出更好,但仍然让人感到有些呆滞。