You can pass a list of paths to git bisect
так, что только совершает изменения этих файлы проверяются:мерзавца разрез`ать со списком * неинтересных * путями
Вы можете еще больше сократить количество испытаний, если вы знаете, что часть дерева участвуют в задаче вы отслеживаете вниз, по с указанием параметров тракта при выдаче Bisect команды запуска:
$ git bisect start -- arch/i386 include/asm-i386
Однако, я хотел бы сделать двойственный образом: игнорировать фиксации, что только потрогать гр ertain файлы, так что-то вроде
$ git bisect start --unrelated arch/i386 include/asm-i386
пропускали фиксации, что касается arch/i386/foo.c
и include/asm-i386/utils.s
, но будут включать в себя обязательство, что касается arch/i386/bar.c
и arch/amd64/baz.c
(так как последний не находится под указываемыми путями и, таким образом, вся фиксация будет уместно) ,
Есть ли способ сделать это?
Но не возвращает ли это «неинтересный» для коммитов, которые содержат изменения в «пути», даже если есть изменения вне 'path'? – Cactus
Правильно, я обновил свой ответ, используя 'git diff-tree -no-commit-id -name-only -r HEAD | sort', который дает вам список измененных файлов для HEAD – edi9999
Во втором чтении это все еще неудовлетворительно, потому что для этого требуется, чтобы тестирование было полностью автоматизировано. В моем сценарии у меня есть в основном ручной процесс для определения того, является ли данное коммит «хорошим» или «плохим», и я не вижу способа для 'script.sh' сигнализировать, что« это коммит не должен быть пропущен » , но требует ручного тестирования ». – Cactus