Nel nostro team, utilizziamo Git come controllo del codice sorgente. Abbiamo diverse aree di codice che sono quasi indipendenti ma presentano alcune sovrapposizioni. Ultimamente abbiamo discusso di flussi di lavoro e approcci all'utilizzo del controllo del codice sorgente. Una lamentela che emerge quando promuovo l'utilizzo di un flusso di lavoro della diramazione di funzionalità è che le persone spesso incontrano complicati conflitti di unione che risolvono in modo errato. Con complicato intendo "non ovvio su come risolvere". Alla luce di ciò, altri flussi di lavoro vengono utilizzati più attivamente, ad esempio un flusso di lavoro basato su "pull rebase".
Come sostenitore dell'approccio del ramo delle caratteristiche, non sto davvero ricevendo il reclamo. Sì, devi mantenere aggiornati i rami delle tue funzionalità locali da master o ovunque, ma questo è l'unico vero problema che vedo. Sto pensando che se le tue fusioni sono sempre complicate e possono avere effetti secondari, allora è più un problema di lavoro di squadra che un problema di Git.
Sono corretto nel pensare questo? I conflitti di unione complicati sono un segno di qualcosa di buono o cattivo?