@MagaVTanke

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

Когда я создаю ветку(назовем её feature), находясь на основной ветке(скажем dev), а потом делаю git merge на ветке dev, в ветку dev добавляются и все коммиты ветки feature. Я хочу, чтоб после git merge feature у ветки dev создавался только один коммит, который перенимает все изменения, сделанные в ветке feature.
  • Вопрос задан
  • 184 просмотра
Решения вопроса 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.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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