Иногда есть несколько измененных файлов вместе с некоторыми новыми, удаленными и / или переименованными файлами. При выполнении git diff
или git-log
я хотел бы опустить их, чтобы я мог лучше определить изменения.
На самом деле, было бы лучше перечислить имена новых и удаленных файлов без их содержания. Для «старого», переименованного в «новый», я хотел бы получить разницу между «старым» и «новым».
git log
этим он полностью игнорирует коммиты, которые только добавляют и / или удаляют файлы.--diff-filter=!D
Also, these upper-case letters can be downcased to exclude. E.g. --diff-filter=ad excludes added and deleted paths.
Пример: показать только добавленные, измененные, измененные файлы, исключая удаленные:
источник
UPDATE: общепринятый ответ Чарльз Бейли является правильным; желаемый функционал уже встроен в git.
Я оставлю этот ответ здесь, так как он может дать идеи для вещей, которые не встроены в git.
git diff
показывает новые и удаленные файлы, сравнивая их с/dev/null
. Не должно быть слишком сложно написать что-то (я бы сам использовал Perl), которое ищет/dev/null
и отфильтровывает следующие строки вплоть до следующего diff. Потомgit diff ... | the-filter
.Переименованные файлы - это другое дело; У меня (пока) нет хорошего ответа на это.
источник
... | less
явном виде.) Вы можете посмотреть наless
«s-E
или-F
вариант (хотя на моей системе это не позволяет мне увидеть выход).