I'm using git bisect to find a failure inducing commit. However, a lot of the commits in the range are definately irrelevant (because they are commits to the documentation or to unit tests). I'd like to make git bisect automatically skip commits which affect files in certain directories. Is this possible somehow?
Use git log to check the previous commits. Use Git Bisect to find the commit in which line 2 is changed from 'b = 20' to 'b = 0.00000'. Remove the bad commit by using Git Revert. Leave the commit message as is.
The git bisect command is a fantastic tool that can help you determine which commit introduced the bug. A regression bug is a specific type of software bug that prevents a feature or software from working when it was working before the bug was introduced. Just remember, git bisect won't "fix" the broken commit for you.
You have several options here:
Ignoring specific commits
git bisect
contains functionality of skipping commits. You can specify commits, tags, ranges you don't want to test with
git bisect skip 0dae5f ff049ab ...
Just do this before you git bisect run
, and it should skip what you specified.
Specifying folders with broken sources
You can also cut down commits bisect
tests by specifying what folders it should look for problems in. This is done at the beginning of bisect
process by supplying additional arguments to git bisect start
(quote from standard manual):
git bisect start -- arch/i386 include/asm-i386
Bisect will only consider commits that touch the folders specified.
If you want to automatically gather commits that touch certain files or folders, you may use git log
for that. For example, the following command will give you commit names that modify files in certain folders:
git log --pretty=format:%H tests/ docs/
And you can supply the result to git bisect skip
with use of shell capabilities:
git bisect skip `git log --pretty=format:%H tests/ docs/`
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