Sto usando git come sistema di controllo della versione e usando git-flow come modello di ramificazione. Ho avviato un ramo di funzionalità alcune settimane fa per mantenere il sistema in uno stato pulito mentre sviluppavo quella funzionalità. Lo sviluppo principale è proseguito sul ramo develop
e le modifiche dallo sviluppo sono state unite periodicamente nella funzionalità, per mantenerlo aggiornato il più possibile.
Tuttavia è arrivato il momento in cui la funzionalità è stata completata, e ho usato% g_out% di git-flow per unire la funzionalità in sviluppo. L'unione è stata eseguita con successo, ma poi ho scoperto che alcuni dei commit che ho fatto in sviluppo sono stati ripristinati dal commit di fusione!
In nessuna parte in finish feature
o nel ramo della funzione queste modifiche sono state ripristinate, non riesco a vedere alcun commit che le sovrascriva. Non riesco a trovare nulla. L'unica teoria che ho per il momento è che il git mi stia sbagliando, ma sarebbe estremamente improbabile. Forse ho fatto una sorta di manipolazione sbagliata che ha reso questa situazione realtà?
Posso risalire alla cronologia quando è stato effettuato il commit. Posso vedere che i cambiamenti da quel commit sono stati ripristinati dal commit di unione. Da nessuna parte nel ramo vedo un commit che ripristina tali cambiamenti. Eppure sono stati ripristinati.
Com'è possibile?