Задать вопрос
@slaverchief

Можно ли сделать git merge, чтобы в главной ветке появился только коммит слияния?

Когда я создаю ветку(назовем её feature), находясь на основной ветке(скажем dev), а потом делаю git merge на ветке dev, в ветку dev добавляются и все коммиты ветки feature. Я хочу, чтоб после git merge feature у ветки dev создавался только один коммит, который перенимает все изменения, сделанные в ветке feature.
  • Вопрос задан
  • 213 просмотров
Подписаться 1 Простой 7 комментариев
Решения вопроса 2
AshBlade
@AshBlade
Просто хочу быть счастливым
1. git merge feature --squash
2. git commit

Проблему решает --squash флаг при merge, только останется закоммитить это дело
Ответ написан
Комментировать
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
При обычном merge как раз и создаётся один коммит слияния. Но, так как у него несколько родителей, то вы будете видеть и все коммиты тематической ветки в вашей основной ветке после слияния.

То, что вы описали, называется squash-коммттом. Это когда все коммиты тематической ветки склеиваются в один, и этот коммит добавляется в конец основной ветки, без сохранения связи с исходной тематической веткой. Это проще всего делать в момент слияния вашего Pull Request на GitHub. Выбирайте там метод слияния Squash and Merge.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы