Lavoro in un team di circa 15 persone e al momento stiamo passando da svn
a git
e stabilendo un nuovo flusso di lavoro con git
.
Ho deciso di utilizzare gitflow
come nostro nuovo flusso di lavoro perché è in grado di risolvere alcuni problemi che abbiamo riscontrato con il nostro flusso di lavoro non esistente utilizzando svn
in cui ognuno ha inserito il suo codice nel repository, a volte senza pensare troppo esso. Questo spesso porta a codice spezzato e deviamenti folli perché non possono continuare temporaneamente il loro lavoro.
Con gitflow
ho voluto provare a costringere le persone a cambiare il loro comportamento passo dopo passo, ma a parte i problemi con lo swapping della mentalità svn da parte della mentalità git (alcuni sviluppatori non hanno funzionato con git in passato o anche a tutto), non possiamo davvero essere d'accordo su come utilizzare questo flusso di lavoro in modo efficiente.
Ci sono molti commit che contengono solo alcune riformattazioni di codice o alcune minuscole correzioni (come errori di battitura) e questi commit si impegna subito nel nostro ramo develop
senza creare un ulteriore ramo di funzionalità per esso.
Quindi abbiamo alcuni problemi legati al tempo. Chi è responsabile per l'approvazione delle richieste di fusione?
Non possiamo permetterci di mettere il carico su una persona come "maestro" per le richieste di fusione e non ha senso secondo me.
Quindi, inizialmente abbiamo accettato di sottoporre a peer review il codice e quindi il creatore della richiesta di unione fa la fusione effettiva, ma questo approccio ha il difetto che non tutti riesaminano ogni richiesta e quindi ci vuole molto tempo prima che x-molte persone abbiano revisionato il codice. Dove mettere la soglia?
Credo che in breve abbiamo alcuni problemi nella definizione delle regole quando qualcuno deve creare un branch di funzionalità e come dovrebbe essere organizzato il processo di revisione tra pari per non rallentare troppo.
Purtroppo non riesco a trovare risorse su come gli altri team hanno risolto questo problema.
Non sono nemmeno sicuro se mi mancano alcuni punti molto importanti qui a lavorare con questo flusso di lavoro.
Devo anche aggiungere che non abbiamo ancora test automatizzati, in quanto l'ex team di sviluppo non lo ha fatto per anni. Quindi questa è sicuramente un'altra cosa che potrebbe essere un grosso ostacolo per noi.
Finalmente ho deciso di venire qui e chiedere il tuo aiuto.
Hai qualche consiglio che potrei usare per risolvere (alcuni di) questi problemi che abbiamo?