Git日志-如何过滤(排除)出现在“Git日志”中的文件?(git pathspec magic)
我需要使用Git日志-如何过滤(排除)出现在“Git日志”中的文件?(git pathspec magic),git,git-commit,git-log,Git,Git Commit,Git Log,我需要使用git log命令来创建一个报告,报告两个日期之间通过提交添加和删除的行数 目前我使用的命令是: git log --since="2015-12-01" --until="2015-12-31" --shortstat 但是我需要在这个过程中过滤一些文件。 这些文件是自动生成的,我们不想看到它们的影响。通过它们的名称可以很容易地识别它们。*。生成。* 我选择使用git log命令,我可以得到我需要的报告,但我不知道如何过滤那些不需要的文件 ,我已经读了好几遍了,但是我没有看到任何关
git log
命令来创建一个报告,报告两个日期之间通过提交添加和删除的行数
目前我使用的命令是:
git log --since="2015-12-01" --until="2015-12-31" --shortstat
但是我需要在这个过程中过滤一些文件。
这些文件是自动生成的,我们不想看到它们的影响。通过它们的名称可以很容易地识别它们。*。生成。*
我选择使用git log
命令,我可以得到我需要的报告,但我不知道如何过滤那些不需要的文件
,我已经读了好几遍了,但是我没有看到任何关于根据文件名过滤文件的内容。这是可能的,还是我必须找到另一个命令才能找到commit添加/删除的行数?有关如何执行此操作的“秘密”称为:
pathspec magic
您只需使用此格式(在git version>1.9中引入):
#使用此语法,注意所有参数和语法
#Unix:
吉特日志
演示:
git日志--stat
(检查最后一次提交)
与文件管理器相同的是,您可以看到结果中只有一个文件,而不是2个
git日志--stat-p--.:(不包括)*dal.js*'
为什么要对生成的文件进行版本控制?!我想说这是实际问题。假设这是另一个我没有权力的团队的另一个问题:)将通过grep-vF'.generated.
do?git log命令不会枚举所有文件。您只需在一个提交中获得修改(添加或删除)的文件数这在手册页中有记录(显然几乎没有其他地方)。同意,这就是我添加它的原因+文档:-)。这不是一个简单的问题,您需要非常了解git才能回答它。:-)我知道,这是引用!在windows上,您需要双引号:)@code向导:在注释中键入git log-p
:-p
代表修补程序,在您的示例中不需要,也不符合OP的需要。它为每个列出的提交显示详细的差异。谢谢!另外,很高兴知道您可以添加多个,例如,git log-pv3.5.0~…master--.:(排除)warn.lock':(排除)README.md'
# Use this syntax, pay attention to all the parameters and the syntax
# Unix:
git log <any required flags> -p -- . ':(exclude)*.generated.*'
# Windows (double quote) [ Thank to @Cyril Gandon for noticing it]:
# (double quote) should work on all OS as well
git log <any required flags> -p -- . ":(exclude)*.generated.*"