Во-первых, я хочу отметить, что в git каждая pull
операция push
- это буквально операция ветвления, а каждая - слияние. Компьютер master
разработчика - это совершенно отдельная ветка от master
общего репо, которым вы делитесь, с равным положением с технической точки зрения. Иногда я буду переименовывать мою локальную версию вupstream
или что-то, если это лучше подходит для моих целей.
Я подчеркиваю это, потому что многие организации думают, что они используют ветви более эффективно, чем ваш коллега, хотя на самом деле они делают немного больше, чем просто создают дополнительное имя для ветви по пути, которое в любом случае не будет сохранено в истории. Если ваш коллега фиксирует функции в одном элементарном коммите, отменить его так же легко, как и коммит слияния ветви функций. Подавляющее большинство функциональных ветвей должно быть очень коротким и в любом случае часто объединяться.
При этом главные недостатки его стиля работы - двоякие. Во-первых, это очень затрудняет совместную работу над незаконченной функцией. Тем не менее, не составит труда создать филиал в те моменты, когда необходимо сотрудничество.
Во-вторых, это делает обзор перед слиянием очень сложным. На данный момент вам не нужно его убеждать. Вы можете использовать такой инструмент, как github, gerrit или gitlab, требовать проверки кода запроса на извлечение и прохождения автоматических тестов для всех слияний. Если вы не делаете что-то подобное, честно говоря, вы не используете git в полной мере, и неудивительно, что ваш коллега не видит такого потенциала.