2011-12-21 13 views
110

Sto facendo un bisit git non automatizzato tramite la riga di comando. Tutto sta andando bene fino a quando non accidentalmente colpisco il ritorno sulla linea sbagliata nella mia cronologia dei comandi, e invece di eseguire il test, eseguo 'git bisect good' (o cattivo). Oops - Non so ancora se questo commit dovrebbe essere contrassegnato come buono o cattivo, eppure è quello che ho fatto.Annullamento di un errore di bisect di git

Posso annullare il comando 'git bisect good', o far sì che Git dimentichi il risultato di esso, e torni indietro ed esegua il test per quel commit?

risposta

139

Bisect il login e bisect riproduzione

Dopo aver il seguente comando per mostrare ciò che è stato fatto finora le revisioni contrassegnato come buono o cattivo, problema:

$ git bisect log 

Se si scopre che hai fatto un errore nello specificare lo stato di una revisione, è possibile salvare l'output di questo comando in un file, modificarlo per rimuovere le voci errate e quindi emettere i seguenti comandi per tornare a uno stato corretto:

$ git bisect reset 
$ git bisect replay that-file 
70

È possibile emettere un record di ciò che è stato fatto usando

$ git bisect log > bisect.log 

aprire il file in un editor e modificare/rimuovere la linea guasta. Poi si può riprodurre con

$ git bisect replay bisect.log 

Questo è documentato in git help bisect.

Problemi correlati