В нашей команде мы используем Git в качестве источника контроля. У нас есть несколько областей кода, которые почти независимы, но имеют некоторое перекрытие. В последнее время мы обсуждали рабочие процессы и подходы к использованию системы контроля версий. Одна жалоба, которая возникает, когда я продвигаю использование рабочего процесса ветви функций, заключается в том, что люди часто сталкиваются со сложными конфликтами слияния, которые они неправильно разрешают. Под сложным я подразумеваю «неочевидно, как решить». В свете этого более активно используются другие рабочие процессы, такие как рабочий процесс на основе «pull rebase».
Как сторонник подхода «ветвь функций», я не получаю жалобу. Да, вы должны постоянно обновлять свои локальные ветви функций от master или где-либо еще, но это единственная реальная проблема, которую я вижу. Я думаю, что если ваши слияния всегда сложны и могут иметь побочные эффекты, то это скорее проблема командной работы, чем проблема Git.
Правильно ли я думаю об этом? Являются ли сложные конфликты слиянием признаком чего-то хорошего или плохого?