Показать все ветки, в которых есть коммит A и нет коммита B?

У меня есть несколько веток, и я обнаружил коммит A, который внес ошибку в систему. Впоследствии это было исправлено фиксацией B в одной из веток и слито обратно в master, но в то время оно не было выбрано Cherry-для всех нарушающих веток.

Мне интересно, есть ли команда, которая покажет все ветки-нарушители, в которых есть коммит A, но нет коммита B?

Я использовал следующее, чтобы определить, существует ли фиксация в ветке

$ git branch -r --contains=A

, но я хочу попытаться добавить к этому что-то вроде

$ git branch -r --contains=A ^--contains=B

В качестве примечания, которое я проверил, и других коммитов нет. которые содержат одно и то же изменение, т.е. оно не было-выбрано ни на какие другие ветки, но некоторые ветки имеют фиксацию B, где они отклонились от master после слияния, а некоторые нет, где они уже существовали до того, как фиксация B была представил.

Кроме того, возможность проверки нескольких коммитов была бы полезна, если коммит, устранивший проблему, (коммит B в данном случае)является вишенкой-, выбранной на нескольких ветках, уже дающих разные SHA фиксации.

7
задан Cellze 17 April 2012 в 13:48
поделиться