You can pass a list of paths to git bisect
so that only commits changing those files are tested:
You can further cut down the number of trials, if you know what part of the tree is involved in the problem you are tracking down, by specifying path parameters when issuing the bisect start command:
$ git bisect start -- arch/i386 include/asm-i386
However, I would like to do the dual of this: ignore commits that only touch certain files, so something like
$ git bisect start --unrelated arch/i386 include/asm-i386
would skip a commit that touches arch/i386/foo.c
and include/asm-i386/utils.s
but would include a commit that touches arch/i386/bar.c
and arch/amd64/baz.c
(since the latter is not under the listed paths and thus the whole commit is relevant).
Is there a way to do that?