Sono nuovo di git e ho appena scoperto "git bisect". Come viene generalmente utilizzato quando è possibile verificare l'errore utilizzando un test dell'unità appena scritto (che non era in anticipo)?Come utilizzare git bisect: utilizzando i test unitari per determinare il commit errorneous?
Diciamo che abbiamo un repository contenente test unitari, ma - come così spesso - non erano completi. In alcune versioni scopriamo che una funzione non funziona, ma sappiamo che prima era in qualche versione. Sfortunatamente quella funzione non è stata verificata da un test unitario. Quello che mi piacerebbe fare ora è:
- Scrivi il caso di test (che fallisce in un primo momento, naturalmente)
- Cercare il commit introdurre l'errore utilizzando git bisect utilizzando questo tipo di test
- Correzione della errore e commit della correzione (e del test case)
Questo caso d'uso presenta un problema. Come git bisect verifica le vecchie versioni, il test case appena inserito non sarà lì, quindi non posso usarlo per verificare l'errore. Posso provare a non eseguire il test, ma a mantenerlo come cambio locale. Ma immaginando che il file di test sia stato modificato in alcune versioni tra di loro, probabilmente correrò in conflitti di fusione.
Quindi cosa fare? Come viene generalmente utilizzato il bisect di Git?