【发布时间】:2014-10-09 23:32:11
【问题描述】:
我正在尝试总结我在一个项目上的工作。问题是我不想在git log --patch 的输出中包含测试文件。
文件位于名为mtest 的单个目录中;但是,该文件夹还包含我想要展示的测试套件代码。我要排除的测试文件具有扩展名mscx 或xml,因此我希望过滤器基于此工作。
我查看了Making 'git log' ignore changes for certain paths,但这似乎排除了修改文件的提交,而不是简单地排除文件。
有没有办法做到这一点?
我已经尝试过 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。
【问题讨论】: