Git вернуть серый коммит в bitbucket - PullRequest
0 голосов
/ 01 апреля 2019

В bitbucket я объединил запрос Pull, в котором было 2 коммита. Я не сквош слить их. Кроме 2 коммитов, я обнаружил, что есть дополнительный «серый коммит» с общим количеством изменений 2 коммитов.

enter image description here

Если я открою серый коммит, я могу увидеть вновь объединенные коммиты как "родительские коммиты": enter image description here

Теперь я хочу отменить свое слияние. Я могу отменить 2 коммиты по отдельности в правильной последовательности, но это станет трудным, если у меня будет несколько коммитов в слиянии. Один из вариантов - слияние в сквош, но я хочу сохранить каждый отдельный коммит. Итак, я хочу написать код, который принимает идентификатор фиксации серого коммита, а затем перечисляет в нем коммиты, чтобы я мог вернуть их по порядку. Есть ли такая команда?

1 Ответ

1 голос
/ 01 апреля 2019

Вы можете отменить все слияние:

git revert -m 1 <hash-of-merge-commit>

И он создаст один возвратный коммит с обращенным содержимым всей ветви.

Опция -m - это индекс родительского коммита слияния. В случае слияния одной ветви, обычно вам нужно -m 1.

...