150 слов | 1 минута

Git в PhpStorm: merge и rebase

PhpStorm предоставляет графический интерфейс для операций Git. Ниже — сравнение вариантов слияния веток на практических примерах.

Исходное состояние

Ветка master с двумя коммитами:

Ветка task_123 от master с тремя коммитами:

Merge в master

Переключитесь на ветку master перед выполнением слияния.

Без параметров

--no-ff (без fast-forward)

Создаёт явный merge-коммит даже при возможности fast-forward:

--no-ff -m (с сообщением)

--squash (схлопывание коммитов)

Все коммиты ветки объединяются в один незакоммиченный набор изменений:

Можно продолжить разработку в task_123 и повторно выполнять squash-слияние — при конфликтах автоматический коммит не создаётся:

Rebase в master

Переключитесь на ветку master перед выполнением rebase.

Без параметров