Основы слияния

Предположим, вы решили, что работа по задаче № 53 закончена, и ее можно влить в ветку master. Для этого нужно выполнить слияние ветки feature/53 точно так же, как вы делали это с веткой bugfix/135 ранее. Все что нужно сделать, это переключиться на ветку, в которую вы хотите включить изменения (master), и выполнить команду Групповая разработка > > Слить... > feature/53:

Результат этой операции отличается от результата слияния ветки bugfix/135. В данном случае процесс разработки ответвился в более ранней точке. Так как коммит, на котором мы находимся, не является прямым потомком ветки, с которой мы выполняем слияние, Git'у придется немного потрудиться. В этом случае Git выполняет простое трехстороннее слияние двух снимков сливаемых веток и общего для двух веток родительского снимка.

Вместо того чтобы просто передвинуть указатель ветки вперед, Git создает новый снимок-результат трехстороннего слияния, а затем автоматически делает коммит. Этот особый коммит называют коммитом слияния, так как у него более одного предка.

Стоит отметить, что Git сам определяет наилучшего общего предка, подходящего как база для слияния. Это отличает его от более старых инструментов, таких как CVS или Subversion (до версии 1.5), где разработчикам, выполнявшим слияние, приходилось самим находить лучшую базу. Это безумно упрощает слияние в Git'е по сравнению с указанными системами.

Теперь, когда работа влита, ветка feature/53 больше не нужна. Вы можете закрыть задачу № 53 в системе проектирования, и удалить ветку.