Я пытаюсь подвести итоги своей работы над проектом. Проблема в том, что я не хочу включать тестовые файлы в вывод git log --patch
.
Файлы находятся в одном каталоге с именем mtest
; однако эта папка также содержит код набора тестов, который я хочу показать. Тестовые файлы, которые я хочу исключить, имеют расширение mscx
или xml
, поэтому я бы хотел, чтобы фильтр работал на основе этого.
Я просмотрел Заставить "git log" игнорировать изменения для определенных путей но похоже, что он исключает коммиты, изменяющие файл, а не просто исключает файл.
Есть ли способ сделать это?
Я попробовал ответ Jubobs, и, похоже, это сработало, но на удивление 2 файла появились даже с включенным фильтром.
Я воспроизвел это с помощью этого небольшого репозитория:
mkdir test
cd test
git init
echo 'readme' > README
git add .
git commit -m "Initial commit"
mkdir test2
cd test2
echo 't1' > test1.cpp
echo 't2' > test2.xml
git add .
git commit -m "c2"
echo 't3' > test3.cpp
echo 't4' > test4.xml
git add .
git commit -m "c3"
Я заметил, что файлы не фильтруются при создании каталога. Я пробовал следующие команды:
git log --patch -- . ":(exclude)**/*.xml"
в результате были включены оба xml-файла.
git log --patch -- . ":(exclude)*.xml"
Это удивительно отфильтровывает test4.xml
, но не test2.xml
.