2010-09-11 2 views
43

Я хочу получить краткий обзор локальных изменений в моем репозитории, но мне не нужен diff, который показывает удаленные файлы, так как каждая отдельная строка минус.Подавление различий для удаленных файлов в git

В принципе, я хочу что-то вроде 'git diff HEAD <list of modified files only>'. В идеальном мире ему будет предшествовать список удаленных и добавленных файлов, но не показывать различия в них.

я большую часть пути через написание утилита, которая делает это:

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

, когда я задавался вопросом, есть ли какой-нибудь мерзавец-й способ сделать это вместо него. Есть ли флаг, который мне не хватает? Я бы тоже хотел сохранить цветопередачу.

ответ

66

Вы можете сделать это с помощью --diff-filter опции и указать все, кроме «D» (удаленная) критерии:

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

--diff-filter = M для просто модификаций – jackocnr

+4

или просто 'git diff -diff-filter = d' – Pithikos

19

git diff (-D|--irreversible-delete) опускает дифф тела для удаленных файлов. Я не думаю, что есть эквивалент для добавленных файлов.

1

Вы также можете использовать -М, которые пытаются найти файлы, которые были перемещены

git diff -M -D 

более может получить более подробную информацию с: мерзавец дифф --help (опция -B также может быть интересно)

11

Почти такой же ответ, как писал Dan Moulding, но вы, вероятно, хотите, чтобы указать, что вы не хотите показать, и скрыть удаленные файлы будет:

git diff --diff-filter=d 
Смежные вопросы