La mia azienda utilizza Git e utilizza uno schema di ramificazione particolare: il lavoro viene svolto in master e le filiali sono riservate alle versioni. Funziona bene, fintanto che tutto il lavoro svolto in un'iterazione arriva al ramo, ma se si presenta un problema di produzione critico, dobbiamo assicurarci che il lavoro lo faccia in qualche modo in entrambi i rami.
Ultimamente, ci siamo divertiti un po 'con quei rami. È stato un mal di testa amministrativo, assicurando che tutto il lavoro lo faccia in ogni ramo, e alcuni bug che sono stati corretti su un ramo non lo fanno diventare padrone fino a quando qualcuno non lo indica, il che è preoccupante.
Mi sono imbattuto in Git Flow qualche tempo fa e ritengo che sarebbe una soluzione al nostro problema: il codice non scorreva fino al rilascio, o fino in fondo. L'unico problema è che il mio esempio ha affermato che questo tipo di sviluppo era un anti-modello - che si sviluppava furiosamente per due settimane, quindi impiegava tre per risolvere i conflitti di unione.
Non sono del tutto sicuro di essere d'accordo, e da quando l'ho sollevato, il lavoro è ripreso come di consueto. Solo di recente abbiamo avuto alcuni importanti punti di dolore con questo.
Mi piacerebbe sapere: perché questo tipo di schema di sviluppo dovrebbe essere visto come un anti-modello? È davvero un anti-pattern?