Cofanie błędu git bisect

164

Robię niezautomatyzowany git bisect za pomocą wiersza poleceń. Wszystko idzie dobrze, dopóki przypadkowo nie trafię return w niewłaściwym wierszu w mojej historii poleceń i zamiast uruchamiać test, uruchamiam polecenie „git bisect good” (lub bad). Ups - jeszcze nie wiem, czy to zatwierdzenie powinno być oznaczone jako dobre czy złe, ale to właśnie zrobiłem.

Czy mogę cofnąć polecenie „git bisect good” lub sprawić, by git zapomniał o wyniku tego i wrócił i uruchomił test dla tego zatwierdzenia?

Graham Perks
źródło

Odpowiedzi:

206

Z dokumentacji git-bisect :

Podziel dziennik i powtórz na pół

Po oznaczeniu wersji jako dobrych lub złych wydaj następujące polecenie, aby pokazać, co zostało zrobione do tej pory:

$ git bisect log

Jeśli odkryjesz, że popełniłeś błąd podczas określania statusu zmiany, możesz zapisać wynik tego polecenia do pliku, edytować go, aby usunąć niepoprawne wpisy, a następnie wydać następujące polecenia, aby powrócić do poprawionego stanu:

$ git bisect reset
$ git bisect replay that-file
manojlds
źródło
99

Możesz wydrukować zapis tego, co zostało zrobione za pomocą

$ git bisect log > bisect.log

Otwórz ten plik w edytorze i edytuj / usuń wadliwy wiersz. Następnie możesz to odtworzyć za pomocą

$ git bisect replay bisect.log

Jest to udokumentowane w git help bisect.

Benjamin Bannier
źródło
1
Czy musisz również, git bisect resetjak wskazała odpowiedź @manojlds?
Colin D
@ColinD Nie musiałem najpierw resetować. Używam git w wersji 2.19.1.windows.1
AlexMA,