Primeiro, quero salientar que no git, tudo pull
é literalmente uma operação de ramificação e tudo push
é uma mesclagem. A master
máquina on de um desenvolvedor é uma ramificação completamente separada da master
em um repositório central que você compartilha, com a mesma posição de uma perspectiva técnica. Ocasionalmente, vou renomear minha versão local upstream
ou algo assim, se ela se adequar melhor aos meus propósitos.
Aponto isso porque muitas organizações pensam que estão usando filiais com mais eficiência do que o seu colega, quando na verdade estão fazendo pouco mais do que criar um nome adicional para uma filial ao longo do caminho, que não será salva na história. Se o seu colega está confirmando recursos em uma confirmação atômica, é tão fácil voltar como uma confirmação de mesclagem de uma ramificação de recursos. A grande maioria dos ramos de recursos deve ter uma vida útil muito curta e, freqüentemente, mesclada de qualquer maneira.
Dito isto, os principais inconvenientes de seu estilo de trabalho são duplos. Primeiro, torna muito difícil colaborar em um recurso inacabado. No entanto, não seria difícil criar uma filial apenas nos momentos em que a colaboração é necessária.
Segundo, torna a revisão antes da mesclagem muito difícil. Nesse ponto, você não precisa convencê-lo. Você pode adotar uma ferramenta como github, gerrit ou gitlab e exigir revisões de código de solicitação pull e passou por testes automatizados para todas as mesclagens. Se você não está fazendo algo assim, francamente, você não está usando o git em todo o seu potencial, e não é de admirar que seu colega não veja esse potencial.