Fehler im Git-Codebase verfolgen

Beginner

This tutorial is from open-source community. Access the source code

Einführung

Git ist ein leistungsstarkes Versionsverwaltungssystem, das es Entwicklern ermöglicht, Änderungen an ihrer Codebasis im Laufe der Zeit zu verfolgen. Eine der nützlichsten Funktionen von Git ist die Möglichkeit, den Commit zu finden, der einen Fehler eingeführt hat. Dies kann bei der Suche nach der Quelle eines Problems in Ihrem Code ungemein hilfreich sein.

Manuell den Commit finden, der einen Fehler eingeführt hat

Ihre Aufgabe ist es, manuell den Commit zu finden, der einen Fehler im Repository git-playground eingeführt hat. Das Repository befindet sich unter https://github.com/labex-labs/git-playground. Der Fehler besteht darin, dass die Datei file2.txt "This is file2.txt." anstatt "This is file2." ausgeben sollte.

Um diesen Lab zu absolvieren, müssen Sie den Befehl git bisect verwenden, um eine binäre Suche durch den Commit-Verlauf des Repositorys durchzuführen. Sie müssen Commits als "gut" (fehlerfrei) oder "schlecht" (fehlerhaft) markieren, bis Sie den Commit eingeschränkt haben, der den Fehler eingeführt hat.

  1. Wechsel in das Repository-Verzeichnis:
cd git-playground
  1. Starte den git bisect-Prozess:
git bisect start
  1. Markiere den aktuellen Commit als "schlecht":
git bisect bad HEAD
  1. Markiere einen Commit mit der Nachricht "Initial commit" als "gut". Git wird automatisch einen neuen Commit auschecken, den Sie testen können:
git bisect good 3050fc0de

Git wird automatisch einen neuen Commit auschecken, den Sie testen können. 5. Wenn der Inhalt der ausgesuchten Datei file2.txt nicht mit dem Fehler übereinstimmt, markiere ihn als "gut":

cat file2.txt
git bisect good
  1. Wenn der Inhalt der ausgesuchten Datei file2.txt mit dem Fehler übereinstimmt, markiere ihn als "schlecht":
git bisect bad
  1. Nachdem Sie den fehlerhaften Commit gefunden haben, setzen Sie den git bisect-Prozess zurück:
git bisect reset

Sie können jetzt die Codeänderungen im fehlerhaften Commit untersuchen, um die Quelle des Fehlers zu finden.

Dies ist das Ergebnis des Tests:

d22f46ba8c2d4e07d773c5126e9c803933eb5898 ist der erste schlechte Commit
commit d22f46ba8c2d4e07d773c5126e9c803933eb5898
Author: Hang <huhuhang@users.noreply.github.com>
Date:   Wed Apr 26 14:16:25 2023 +0800

    Added file2.txt

 file2.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 file2.txt

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den Befehl git bisect verwenden, um manuell den Commit zu finden, der einen Fehler in einem Git-Repository eingeführt hat. Indem Sie Commits als "gut" oder "schlecht" markieren, können Sie eine binäre Suche durch den Commit-Verlauf durchführen, um die Quelle des Problems schnell einzuschränken. Diese Technik kann bei der Fehlersuche in komplexen Codebasen ungemein hilfreich sein.