Удалить ветку, которая идет с другой объединенной веткой - PullRequest
0 голосов
/ 07 июня 2018

У меня есть 3 ветви;

A: Основная ветвь, которую мы используем для тестирования.

B: Ветвь, в которой есть изменения, должна быть в ветви A.

C: ветвь, в которой есть изменения, НЕ должна быть в ветке A.

Итак, работая над B, я объединила C в B и продолжила работать над B. В конце я слила B в A.

Я хочу удалить все коммиты C из A, но оставить ветку B в A.

Я использую GitKraken, но каждое предложение будет принято.

1 Ответ

0 голосов
/ 07 июня 2018

Если ветка 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.

...