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

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

Когда я создаю ветку(назовем её feature), находясь на основной ветке(скажем dev), а потом делаю git merge на ветке dev, в ветку dev добавляются и все коммиты ветки feature. Я хочу, чтоб после git merge feature у ветки dev создавался только один коммит, который перенимает все изменения, сделанные в ветке feature.
  • Вопрос задан
  • 293 просмотра
Подписаться 1 Простой 7 комментариев
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 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.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽