Existe uma maneira de limitar os git diff
arquivos alterados?
Eu gostaria de ver as diferenças entre dois commits, mas excluir caminhos que não existem em um ou no outro (adições / exclusões). O seguinte one-liner do Perl ilustra muito do que eu quero:
git diff master.. | perl -lnwe 'print unless /^(new|deleted) file/../^diff/ and not /^diff/'
Mas isso deixa diff --git a/path b/path
linhas para os arquivos novos ou excluídos. Além disso, seria muito melhor se eu não tivesse que analisar (também falha se algum pedaço contiver algo que corresponda a / ^ diff /, por exemplo).
Outra alternativa que tentei foi:
git diff --name-status (args) | perl -lnwe 'print if s/^M\s+//' | xargs git diff (args) --
Sua saída é melhor, mas ainda parece hackear.