2010-09-11 24 views
43

Deseo obtener una visión general rápida de los cambios locales en mi repositorio, pero no quiero un diff que muestre los archivos eliminados, ya que cada línea es un signo menos.Supresión de diffs para archivos eliminados en git

Básicamente, quiero algo como 'git diff HEAD <list of modified files only>'. En un mundo ideal, estaría precedido por la lista de archivos eliminados y agregados, pero no mostraría las diferencias dentro de ellos.

que era la mayor parte del camino a través de la escritura una utilidad que hace esto:

git diff HEAD `git status | grep modified | cut -d : -f 2` 

cuando me preguntaba si había alguna manera git-y a hacerlo en su lugar. ¿Hay una bandera que me falta? Me encantaría preservar la salida de color, también.

Respuesta

66

Usted puede hacer esto con la opción --diff-filter y especificando todos, pero el criterio (suprimido) "D":

 
$ git diff --diff-filter=ACMRTUXB 
+12

--diff-filter = M para solo modificaciones – jackocnr

+4

o simplemente 'git diff --diff-filter = d' – Pithikos

19

git diff (-D|--irreversible-delete) omitiremos el cuerpo de diferencias para archivos borrados. No creo que haya un equivalente para los archivos agregados.

1

También puede utilizar -M que tratan de encontrar los archivos que se ha movido

git diff -M -D 

más pueden obtener más información en: git diff --help (opción -B también podría ser interesante)

11

casi misma respuesta que registró Dan Moulding, pero es probable que desee especificar lo que haces no quieren mostrar, y para ocultar archivos borrados será:

git diff --diff-filter=d 
Cuestiones relacionadas