Git workflow per funzionalità flessibili

5

Nel nostro team utilizziamo un approccio gitflow per mantenere il nostro codebase. Ma c'è un caso in cui lottiamo.

Nel caso seguente, abbiamo due rami funzione (feat / A, feat / B) creati da develop . feat / A ora è finito, quindi lo uniamo in sviluppo, bene questa funzione ora vive in develop , è in attesa di essere testata per essere unita in master .

E ora, c'è un'emergenza per mettere feat / B in master perché è molto importante (un errore di comunicazione, un client si aspettava che fosse già presente, qualunque cosa ..). In questo caso feat / B non è finito al 100% (questo è il motivo per cui non è stato fuso in develop per ora) ma la versione corrente è stabile e pronta per essere utilizzata.

Quindi, come ti occuperesti di questo?

Non possiamo contare su gitflow poiché dirà di fare quanto segue:

  • Unisci feat / B in develop
  • Unisci develop in master (non parlo di release/X ma il principio è lo stesso)

Ma ... ricorda, develop contiene l'impresa A che non è pronta per essere generata in prod. Quindi non possiamo unire develop in master .

La soluzione che ho è la seguente:

  • Unisci feat / B in develop
  • Unisci feat / B in master

Quindi, in questo modo il master non contiene l'impresa A. Questa soluzione funziona, ma non sembra essere una pratica scalabile nel grande progetto (decine di sviluppatori che lavorano su uno stesso repository). Ora siamo 3-4 dev in modo che possiamo comunicare rapidamente tra loro, ma in una grande squadra non è realmente possibile ..

    
posta Nathan Vasse 15.12.2017 - 14:04
fonte

2 risposte

5

Nel modello gitflow questa situazione sarebbe considerata una correzione, in cui la prescrizione è esattamente la soluzione che hai proposto, presupponendo che l'unione non estrae altre modifiche da develop che non sono pronte per master . Se l'unione vorrebbe inserire le modifiche indesiderate, dovrai prima rebase feat/B su master .

    
risposta data 15.12.2017 - 21:16
fonte
1

Raccomando di trattarlo come una correzione rapida. Rebase feat/B off master e in seguito cherry pick modifiche per sviluppare o unire master in sviluppo.

    
risposta data 15.12.2017 - 21:30
fonte

Leggi altre domande sui tag