Git Flow. Как удалить коммиты после удаления ветки?

Ситуация:
Работаю по git flow
Есть ветка законченной фичи.
После merge в общую ветку develop, ветку фичи удаляю.

Но ее коммиты по прежнему видны в истории:
122c7c1daafa41bea4192cb74784a2e4.png

Как можно их скрыть или удалить? Чтоб не засоряли репозиторий.
  • Вопрос задан
  • 935 просмотров
Пригласить эксперта
Ответы на вопрос 1
Конечно коммиты видны будут, при мёрже просто создаётся новый мёрж-коммит, "сцепляющий" две ветки, и этот коммит помещается в ту ветку, в которую вы мержите.

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

Если уж вы действительно считаете, что некоторые коммиты "лишние" и их можно было бы объединить, почитайте про git squash. Только это желательно делать до пуша бранча, и уж точно до мёржа - сейчас мёрж-коммит намертво прицеплен к последнему коммиту из фичебранча.

Вообще почитайте лучше еще про Git и про ваш UI к нему, удаление коммитов из середины смёрженного бранча с точки зрения Git - абсолютно бредовая затея. В частности, почитайте про то, что такое ветки: это всего лишь перемещающиеся указатели на коммит, и при удалении ветки коммиты удалятся только в том случае, если они не были никуда зацеплены (смёржены). После мёржа удаление ветки - это лишь удаление указателя, которое как бы говорит нам, что разработка этого бранча закончена, и дальнейших коммитов в рамках этого бранча уже не будет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы