Если ветка C не слишком большая, я бы просто использовал "git revert".В клиентах с графическим интерфейсом, таких как GitKraken, вы обычно можете щелкнуть правой кнопкой мыши на коммите и «отменить» его.
Например, если ваша ветка C имеет коммиты [C1, C2] (в этом порядке), вы должны сначала вернуть C2и затем C1:
git revert C2
git revert C1
Примечание: замените C1 здесь фиксацией SHA of C1.
Если одно из обращений не происходит корректно, вам необходимодля поиска и разрешения конфликтов.
Если ваше слияние C с B не было быстрым слиянием, а создало коммит слияния , вы можете найти этот коммит слияния в журнале истории -«Cm» - и попытаться вернуть только этот единственный коммит:
git revert Cm
Если у вас более 3 или около того коммитов в C, я бы попытался вернуть A в предыдущее состояние (до слияния B)готовит новую чистую версию B - назовите его B2 - и объединяете B2 в A.