'git log' 可以根据提交消息忽略某些提交吗?

Can 'git log' ignore certain commits based on commit message?

我正在使用 git log 以便在两个分支之间生成差异。我使用的确切命令是:

git log --left-right --graph --cherry-pick --oneline sourceBranch...targetBranch

我想知道是否可以根据提交消息排除一些日志条目。例如,我们测试自动化团队的所有提交都包含一个特定的标识符,我们称之为 TEST_AUTO。目前,我的 diff 的输出如下所示:

>   1e31b8x Merge pull request #1225 in base/project from feature/ABCD-1111 to master
|\  
| > b2f0dfx [ABCD-1111] rework help tour // fixes
| > 270072x [ABCD-1111] rework help tour // merge fixes
| > 98ffeax [ABCD-1111] rework help tour // merge fixes
| >   ff2e25x Merge branch 'master' into feature/ABCD-1111-rework-help-tour
| |\  
| > | f0daf2x [ABCD-1111] rework help tour // new menu
| > | c519a2x [ABCD-1111] rework help tour
| > | 6873cax [ABCD-1111] rework help tour // animations
| > | 944cc7x [ABCD-1111] rework help tour // fix phone fullscreen
| > | 72b3ffx [ABCD-1111] rework help tour // phone animations
| > | 7f7c50x [ABCD-1111] rework help tour // base logic
| > | b6dccex [ABCD-1111] rework help tour
| > | a30022x [ABCD-1111] rework help tour // code clean up and new icons
> | |   c0a3e1x Merge pull request #11361 in base/project from TEST_AUTO-123-bring-automation-code-to to master
|\ \ \  
| |_|/  
|/| |   
| > | 9837a4x [TEST_AUTO-123] Bring Android automation code to 123.X version
| > | 41b33cx Merge branch 'feature/automation' into TEST_AUTO-951-bring-automation-code-to
| > |   bb53f6x Merge branch 'feature/automation' into TEST_AUTO-951-bring-automation-code-to
| |\ \  
| | > | aa1a90x [TEST_AUTO-123] Bring Android automation code to 123.X version
| | > |   876ee8ex Merge pull request #12261 in base/project from bugfix/TEST_AUTO-789-android-fix to feature/automation
| | |\ \ \  
| | | > | | ef3fa1x [TEST_AUTO-456] fixed test_508()
| | | > | | a2d352x [TEST_AUTO-456] fixed test_186 and moved to PortfolioTest
| | | > | | 1880b0x [TEST_AUTO-456] small fix test_493
| | | > | | facc13x [TEST_AUTO-456] fixed test_493
| | | > | | 9ebce6x [TEST_AUTO-456] fix test_31734 (test_493)
| | | > | | 128890x [TEST_AUTO-456] fix test_31621 (test_384) and moved to common/MediaTest
| | | > | | ab64b8x [TEST_AUTO-456] fix test_498()
| | | > | | 7935aax [TEST_AUTO-456] fix test_31740 (test_498) (not ready)
| | | > | | ffb930x [TEST_AUTO-456]fixed test_31751 (test_508) and moved to common/SideMenuTest
| | | | > |   2b810ax Merge remote-tracking branch 'remotes/origin/feature/automation' into bugfix/TEST_AUTO-789-android-fix

这些会产生很多我不感兴趣的日志噪音。

理想情况下,我想从包含此 TEST_AUTO 字符串的比较中排除任何提交。我已经尝试将上面的命令通过管道传递给 'grep -v' 但这只是消除了包含它的行(显然)并在树中留下了奇怪的空白。我想完全阻止它们被包括在内。

git log --invert-grep --grep=TEST_AUTO

来自 man git log:

   --invert-grep
       Limit the commits output to ones with log message that do not match the pattern specified with --grep=<pattern>.