Есть ли возможность ограничить git diff
данный набор расширений файлов?
git
file-extension
vfclists
источник
источник
git diff -- *.{c,h,etc}
git diff master HEAD -- "*filename.txt"
также полезноgit diff master HEAD --name-only
''
) также важны!git diff -- src/*.js
должно бытьgit diff -- 'src/*.js'
Чтобы включить файлы рекурсивно (включая текущий каталог), это работало для меня:
источник
git diff -- '***.py' ':!.Trashes'
Либо используйте globstar вашей оболочки (который выполняет рекурсивный поиск) 1 , 2 :
или используйте поиск:
Оба они являются специальными именами и пробелами. Хотя вы можете фильтровать каталоги с расширением .py :)
1 мне нравится делать
git diff -- {.,**}/*.py
обычно2 Когда Globstar включен,
git diff -- **/*.py
уже включает./*.py
. На странице руководства Bash: «Если после / / два соседних * будут соответствовать только каталогам и подкаталогам».источник
Для простых файловых шаблонов это работает:
Пробелы безопасны, и вы также можете иметь несколько расширений:
источник
Аргумент командной строки для расширения.
В качестве альтернативы, вы можете трубы
find
вgit diff
:источник
git diff *.py
и без кричащих заголовковКак было протестировано на git версии 2.18.0, расширение файла должно быть заключено в двойные кавычки. Если вы хотите найти последние различия между вашим локальным репозиторием и удаленным, после извлечения вы можете использовать:
Например:
источник
git diff master@{1} origin/master --name-only -- "*.cs"
Кажется, ни один из ответов выше не работает для меня
git bash
в Windows. Я не уверен, что это версия (я использую 1.8.4) или Windows / bash; также, в моем случае, я хотел разграничить две ветви, где каждая ветвь имела дополнительные файлы, отсутствующие в другой ветке (таким образом, основанные на 'находке' являются опущенными).В любом случае, это сработало для меня (в моем примере я искал разницу между файлами Python):
источник
git diff
будет отображать различия только в неустановленных файлах.Я нашел этот вопрос, потому что я хотел исключить
.info
файлы изgit diff
. Я добился этого путем постановкиgit add *.info
, что уменьшает количество оставшихся файлов.источник
Я завелся с этим:
Это показывает diffs для указанного коммита, только если имя файла содержит слово «test» (без учета регистра) и не заканчивается
.sql
, измените конвейер так, как необходимо для вашего случая.источник