Während eines Tages der Entwicklung wurde von einem Ingenieur ein Fehler festgestellt. Der gleichzeitige Zugriff auf das System war nicht möglich und die Datenbankverbindung wurde direkt gesperrt. Das Projekt nutzt die Java-Plattform und führt die Versionsverwaltung auf svn durch. Ich wollte die Versionen nicht einzeln überprüfen, deshalb habe ich mir die gewalttätigste Methode zur Suche nach Halbversionen ausgedacht. Natürlich bedeutet es auch, die Versionen einzeln auszuprobieren zeitaufwändig. Git-bisect ist meine einzige Wahl.
Exportieren Sie zunächst die SVN-Bibliothek als Git-Bibliothek:
$ git svn clone -s http://svn.xxx.com/svn/xxxxx
Starten Sie dann git bisect:
$ git bisect start
Markieren Sie die aktuelle Version als falsch:
$ git bisect bad
Suchen Sie die Version vom Vortag und erstellen Sie ein Tag (tag20090106). Markieren Sie es als korrekt:
$ git bisect good tag20090106
Zu diesem Zeitpunkt teilt Ihnen Git mit, dass eine Zwischenversion ausgewählt wurde. Wenn dies fehlschlägt, führen Sie Folgendes aus:
$ git bisect bad
Git verwendet die Hälfte Methode, um fortzufahren. Suchen Sie eine Zwischenversion, beginnen Sie mit dem Kompilieren und führen Sie den Test aus:
$ git bisect good
Git sucht weiterhin nach der Revision, bis es schließlich eine Version findet, die Fehler verursacht Analysieren Sie dieses Mal die Ursache und finden Sie das Problem erneut. Nachdem der PK abgeschlossen ist, machen Sie Schluss:
$ git bisect reset
git kehrt zum aktuellen HEAD zurück.