![Merge](Merge.png) <br> Предположим, мы хотим слить ветку «Dev» в Main. При сливании (merge) веток Fork дает варианты, как именно это можно сделать: ![Merge-1](Merge-1.png) ### Default Все commit’ы Dev переносятся в Main, в самый вверх. Как это выглядит после применения ![Merge-2](Merge-2.png) А так выглядит после пуша изменений на github. ![Merge-3](Merge-3.png) ### No Fast-Forward Ветка Dev просто сливается в Main. Ничего особенного. ![Merge-4](Merge-4.png) Если после сливания через опцию No Fast-Forward мы хотим изменить описание коммита, то просто используем "Amend". ### Squash Собирает все commit’ы в один, который будет иметь в описании названия всех commit’ов. Этот один коммит переносится в Main в самый вверх. ### Don’t Commit То же самое, что и **No Fast-Forward**, только с одним важным отличием: при выборе опции **Don’t Commit** Fork выполнит слияние веток, но **не создаст коммит автоматически**. Это полезно в случаях, когда вы хотите вручную проверить и изменить изменения перед созданием коммита, либо задать своё собственное сообщение для коммита слияния. После этого вам нужно будет самостоятельно зафиксировать изменения (коммит) через интерфейс Fork.