I'm using git log
in order to generate a diff between two branches. The exact command I'm using is:
git log --left-right --graph --cherry-pick --oneline sourceBranch...targetBranch
What I'm wondering is if I can exclude some of the log entries based on the commit message. For example, all of the commits by our test automation team contain a certain identifier, we'll call it TEST_AUTO. Currently, the output from my diff looks like this:
> 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
These generate a lot of log noise that I'm not interested in.
Ideally, I'd like to exclude any commits from the compare that contain this TEST_AUTO string. I've tried piping the above command to 'grep -v' but that just eliminates the lines that contain it (obviously) and leaves weird gaps in the tree. I want to prevent them from being included at all.
git log --invert-grep --grep=TEST_AUTO
from man git log
:
--invert-grep
Limit the commits output to ones with log message that do not match the pattern specified with --grep=<pattern>.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With