Я знаю, что git bisect поддерживает ветки по своему дизайну, поэтому, если между хорошим коммитом G и плохим коммитом B вы слились в ветке, он должен принять во внимание и эти изменения, так как ошибка может содержаться в ветке.
В моем случае у меня есть зависимость как побочная ветвь, и я время от времени объединяю изменения в свой основной проект. Зависимость можно рассматривать как библиотеку, которая имеет другой способ запуска, другую систему сборки и т. Д. Из моего основного проекта, но я все еще хочу, чтобы последние изменения в ней были выполнены путем слияния с основной веткой.
Тогда проблема заключается в том, что при разделении пополам в этом сценарии вы получаете некомпилируемые коммиты в коммитах из зависимости.
Я бы просто хотел рассматривать каждое слияние ветвей как один коммит при делении пополам.
Обходной путь, который я нашел до сих пор, заключается в создании списка допустимых коммитов G..B с помощью git log --first-parent, а затем при делении пополам git bisect skip, если текущий коммит отсутствует в этом списке , Хотя это занимает много времени (много файлов для проверки / изменения для каждого пропуска).
Таким образом, вопрос заключается в следующем: есть ли способ сделать --first-parent с помощью git bisect или предоставить список коммитов, которые, как я считаю, действительны, чтобы избежать проверки веток, которые, как я знаю, уже не компилируются? Как мы проверяем только коммиты, отмеченные o на диаграмме?
G---o---o---o---o---o---o---B main project branch
/ / /
x---x---x---x---x dependency
\ /
x' dependency project taskbranch
Редактировать : добавлена схема для наглядности