Às vezes, existem alguns arquivos alterados, juntamente com alguns arquivos novos, excluídos e / ou renomeados. Ao fazer git diff
ou git-log
gostaria de omiti-los, para que eu possa identificar melhor as modificações.
Na verdade, seria melhor listar os nomes dos arquivos novos e excluídos sem o conteúdo deles. Para "old" renomeado para "new", gostaria opcionalmente de obter a diferença entre "old" e "new".
git log
isso, ele ignora completamente as confirmações, que apenas adicionam e / ou removem arquivos.--diff-filter=!D
Also, these upper-case letters can be downcased to exclude. E.g. --diff-filter=ad excludes added and deleted paths.
Exemplo: mostrar apenas arquivos adicionados, alterados e modificados, excluindo arquivos excluídos:
fonte
ATUALIZAR: A resposta aceita por Charles Bailey é a correta; a funcionalidade desejada já está embutida no git.
Deixarei essa resposta aqui, pois ela pode fornecer idéias para coisas que não estão embutidas no git.
git diff
mostra arquivos novos e excluídos comparando-os com/dev/null
. Não deve ser muito difícil escrever algo (eu usaria o Perl) que procura/dev/null
e filtra as seguintes linhas até a próxima diff. Entãogit diff ... | the-filter
.Arquivos renomeados são uma questão diferente; Ainda não tenho uma boa resposta para isso.
fonte
... | less
explicitamente.) Você pode verless
as opções-E
ou-F
opções (embora no meu sistema isso não me permita ver a saída).