可以' git log'忽略基于提交消息的某些提交?

时间:2017-11-02 17:47:40

标签: git git-log git-cherry-pick

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

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

我想知道的是我是否可以根据提交消息排除一些日志条目。例如,我们的测试自动化团队提交的所有提交都包含某个标识符,我们称之为 TEST_AUTO 。目前,我的差异输出看起来像这样:

>   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'但这只是消除了包含它的线条(显然)并在树中留下了奇怪的空白。我想阻止他们被包括在内。

1 个答案:

答案 0 :(得分:10)

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>.