Sto basando il mio repository Git su un modello di ramificazione Git di successo e mi chiedevo cosa succede se hai questa situazione:
Supponiamo che io stia sviluppando su due rami di funzionalità A e B e che B richieda il codice di A. Il nodo X introduce un errore nella funzione A che influisce sul ramo B, ma questo non viene rilevato nel nodo Y dove le funzioni A e B sono state unite e i test sono stati condotti prima di ramificarsi di nuovo e lavorare alla prossima iterazione.
Di conseguenza, il bug viene rilevato nel nodo Z dalle persone che lavorano sulla funzione B. In questa fase si decide che è necessario un bugfix. Questa correzione dovrebbe essere applicata a entrambe le funzionalità, poiché anche le persone che lavorano sulla funzione A hanno bisogno di correggere il bug, poiché fa parte della loro funzionalità.
È necessario creare un ramo bugfix dall'ultimo nodo della funzione A (quello che si ramifica dal nodo Y) e quindi unirlo alla funzione A? Dopo di che entrambe le funzionalità vengono nuovamente unite per svilupparsi e testate prima di diramarsi?
Il problema è che è necessario unire entrambi i rami per risolvere il problema. Poiché la funzione B non tocca il codice nella funzione A, esiste un modo per modificare la cronologia nel nodo Y implementando la correzione e consentendo comunque al ramo della funzione B di rimanere non unito ma avere il codice fisso dalla funzione A?
Leggermente correlato: convenzione di ramificazione dei bug di Git