目前,我正致力于github
中的挖掘软件存储库。我使用git log command
来获取提交日志。但是当我只需要查找提交日志包含特定单词时,也会显示一些意外日志。
例如,我需要提交日志包含单词HBASE-792
。我使用了命令git log --grep='HBASE-792' --oneline
。但这些日志显示:
HBASE-7921. TestHFileBlock.testGzipCompression should ignore the block checksum
HBASE-7923 force unassign can confirm region online on any RS to get rid of double assignments
HBASE-7928 Scanning .META. with startRow and/or stopRow is not giving proper results; REVERT. NEEDS SOME MORE WORK
Fix overlogging; part of HBASE-792 patch
Patches to alleviate HBASE-790 and HBASE-792
我需要的只是最后两个完全包含HBASE-792
的提交日志。我应该用grep写什么模式?
答案 0 :(得分:1)
您可以尝试在Perl模式下运行grep:
git log --grep='\bHBASE-792\b' --perl-regexp --oneline
我所做的就是在HBASE-792
周围加上字边界。有了它们,您的模式将不再与例如HBASE-7923
出现在其中一行不匹配的行的开头。
答案 1 :(得分:1)
您可以尝试将git log的输出传递给grep,并使用grep的-w
标志。这里是我做的测试回购的示例运行:
Test $ git log --grep='HBASE-792' --oneline
09172fd asd sHBASE-792 asd
bea6628 asd HBASE-792s asd
3100179 asd HBASE-792 asd
4cb3200 HBASE-792
带有-w
标志的:
Test $ git log --oneline | grep -w "HBASE-792"
3100179 asd HBASE-792 asd
4cb3200 HBASE-792