Про git. Почему, если удалить коммит, созданный merge, история из сливаемой ветки остаётся
Есть ветка master. В мастере создали коммит 1. После чего создали и переключились на ветку develop. В ней создали коммиты 2, 3, 4. Смотрим git log - там коммиты с 1 по 4. Переключились на ветку master. Смотрим git log - там коммит 1. Мы же в другой ветке. Теперь делаем git merge develop. Создался коммит 5 из 2 веток. В git log уже 5 коммитов. Потом понимаем, что рано ветки слили и делаем git reset --hard HEAD~1 и последний коммит исчезает. Смотрим git log, а там коммиты 1, 2, 3, 4. Да, но коммита, соединяющего ветки уже нет. Почему коммиты из ветки develop отображаются в master? По идее у них есть общий предок, но на данный момент нет коммита, соединяющего эти две ветки. Как сделать "unmerge" чтобы коммиты из сливаемой ветки, не отображались в главной ветке?
Ответы (1 шт):
У коммита 5 два предка: 1 и 4
Судя по описанию того, что вы получили в итоге, была ошибка или в порядке слияния, или в синтаксисе reset'а
В данном случае достаточно еще раз сделать git reset, вручную указав коммит 1