A un certo punto nel nostro passato i rami di sviluppo in git sono stati uniti. Tuttavia, è stata presa la decisione di unione errata e quindi alcuni codici non sono stati inclusi nel ramo principale che ci aspettavamo ci sarebbe stato. (Esistevano più fusioni di rami diversi prima di un'unione finale a un ramo principale. Quindi la storia di ramificazione e unione era abbastanza complessa.)Come cercare nella cronologia di un repository git per trovare un errore di fusione?
C'è un modo semplice per cercare un repository git per determinare su quale unione "errato" "la decisione è stata presa su?
(. So già la risposta per questo caso particolare, ma il processo di ricerca è stato un po 'noioso)
EDIT: La colpa ragione git dimostrato inadeguato è che la linea è stato toccato in un commit qualche tempo dopo l'errore di fusione.
Il problema era che la linea veniva toccata qualche tempo dopo "l'errore di fusione". Sapevo quando è stata introdotta la patch, ma non è stato facile capire quando è stata ritirata. – Atlas1j
Piuttosto quindi git diff e search, usa le opzioni fornite da git log. In particolare, prova 'git log .. -S" linea che mi interessa "--diff-filter = M' –
Il processo che descrivi è ciò che fa git bisect. Tuttavia, non devi contare gli hash. Mentre il tuo pattern 0-6, 0-3/4-6, ecc. È chiaro e comprensibile, non puoi usare i numeri di commit. Devi usare gli hash del commit e questo non è chiaro. git bisect è tuo amico. –