Una strategia di fusione come Git Flow è davvero un anti-pattern?

29

La mia azienda utilizza Git e utilizza un particolare schema di ramificazione: il lavoro viene eseguito in master e i rami sono riservati per le versioni. Funziona bene, a patto che tutto il lavoro svolto in un'iterazione lo faccia nel ramo, ma se si verifica un problema di produzione critico, dobbiamo assicurarci che il lavoro lo faccia in qualche modo in entrambe le filiali.

Ultimamente, abbiamo avuto un po 'di "divertimento" 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 master fino a quando qualcuno lo indica, il che è preoccupante.

Mi sono imbattuto in Git Flow qualche tempo fa, e sento che sarebbe una soluzione al nostro problema: il codice non si diffonde fino al rilascio o al contrario. L'unico problema è che il mio lead ha affermato che questo tipo di sviluppo era un anti-pattern: si sviluppava furiosamente per due settimane, poi ne spendeva tre per risolvere i conflitti di fusione.

Non sono del tutto sicuro di essere d'accordo, e da quando l'ho tirato su, il lavoro è tornato normale. Solo di recente abbiamo avuto alcuni importanti punti dolenti con questo.

Mi piacerebbe sapere - perché questo schema di sviluppo dovrebbe essere visto come un anti-modello? È veramente un anti-pattern?

    
posta Makoto 19.02.2013 - 05:07
fonte

2 risposte

30

Si riferisce principalmente al lato delle diramazioni del modello. I branch di feature sono stati dichiarati anti-pattern molto tempo fa quando i rami duravano mesi e i sistemi di controllo delle versioni non potevano unirsi per salvarsi la vita. I rami di funzionalità che durano una o due settimane hanno molti meno problemi, specialmente se si continua a unire da develop nel ramo di funzionalità durante quel periodo. Qualcosa di molto più lungo di quello non è ancora raccomandato.

Anche se non utilizzi il ramo di funzionalità di git flow, le altre parti sono utili per assicurarti di ottenere una fusione pulita e le tue modifiche siano propagate nella giusta direzione.

    
risposta data 19.02.2013 - 06:48
fonte
21

L'unione è una cosa divertente - meno frequentemente viene fatto più difficile sarà, più difficile sarà, più la gente ne avrà paura, meno frequentemente lo faranno.

La soluzione è o non consentire alle filiali di deviare troppo o non usare rami.

Se la gente capisce questo, probabilmente non avrai molti problemi con l'unione, se non lo facessi. Potrebbe essere che i rami non sono una buona idea senza un po 'di educazione.

    
risposta data 19.02.2013 - 06:57
fonte

Leggi altre domande sui tag