Fehler finden mit git bisect

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1639
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Fehler finden mit git bisect

Beitrag von fliegermichl »

Hallo zusammen,

ich bin eben eher zufällig über die git Funktion bisect gestolpert. Dabei ist die enorm hilfreich.
Angenommen, dir fällt ein Fehler auf und du bist ganz sicher, daß der in einer älteren Version noch nicht vorhanden war.
Dann kannst du einmal einen alten commit auschecken, Prüfst, ob da der Fehler auch schon drin ist und stellst fest, daß das nicht der Fall ist.
(Falls doch, geh eben noch weiter zurück)
Jetzt kannst du mit

Code: Alles auswählen

git bisect start
eine git bisect session starten.
Mittels

Code: Alles auswählen

git bisect good
gibst du an, dass der Code in diesem commit in Ordnung ist.
Als nächstes holst du den aktuellen Stand zurück (git checkout master)
und sagst git, daß hier der Fehler enthalten ist.

Code: Alles auswählen

git bisect bad
Git checkt jetzt automatisch den commit in der Mitte zwischen good und bad aus.
Prüfe nun, ob der Fehler an dieser Stelle schon drin war.
Falls ja

Code: Alles auswählen

git bisect bad
Falls nein

Code: Alles auswählen

git bisect good
Je nachdem checkt git jetzt wieder automatisch den commit in der neuen Mitte zwischen good und bad aus.
Das ganze wiederholt sich solange, bis du den commit gefunden hast, der den Fehler mit sich gebracht hat.

Spart viel Zeit.
Ich wollte den Beitrag bei Wissensdb -> sonstige Anleitungen erstellen, hab da aber keine Berechtigung.

Antworten