Attualmente sto lavorando per una società che utilizza VSTS per la gestione del codice git. Il metodo "consigliato" di Microsoft di unire un ramo è di fare un "squash merge", il che significa che tutti i commit per quel ramo vengono schiacciati in un nuovo commit che incorpora tutte le modifiche.
Il problema è che cosa succede se eseguo alcune modifiche in un ramo per un elemento di backlog, quindi immediatamente voglio iniziare a fare cambiamenti in un altro ramo per un altro elemento del backlog, e tali cambiamenti dipendono dal set di modifiche del primo ramo?
Posso creare un ramo per quell'elemento del backlog e basarlo sul primo ramo. Fin qui tutto bene. Tuttavia, quando arriva il momento di creare una richiesta di pull per il secondo ramo, il primo ramo è già stato fuso in master e poiché è stato eseguito come fusione di squash, git segnala una serie di conflitti. Questo perché git non vede l'originale commette che il secondo ramo era basato su, si vede solo l'unificazione di una grande zucca e così, per unire il secondo ramo nel master, tenta di riprodurre tutti i commit del primo ramo in parte superiore della fusione di squash, causando molti conflitti.
Quindi la mia domanda è, c'è un modo per aggirare questo (oltre a non basare mai un ramo di funzione su un altro, che limita il mio flusso di lavoro) o squash unire basta interrompere l'algoritmo di fusione di git?