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
inmaster
(non parlo direlease/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 ..