Suchen Sie im Git-Commit-Verlauf nach einer bestimmten Zeichenfolge

John Wachira 15 Februar 2024
Suchen Sie im Git-Commit-Verlauf nach einer bestimmten Zeichenfolge

Dieser Artikel beschreibt die verschiedenen Methoden, die wir verwenden, um den Git-Verlauf nach einer bestimmten Zeichenfolge zu durchsuchen.

Das Durchsuchen der Commit-Nachrichten in Ihrem Verlauf führt nicht immer zum Ziel. Manchmal möchten Sie wissen, welche Commits von einer bestimmten Variablen oder Zeichenfolge betroffen waren.

Wir können dem Befehl git log einige Argumente hinzufügen, um nach einer Zeichenfolge zu suchen, und Git gibt uns die Commits, die die Zeichenfolge zu unserem Repository-Verlauf hinzufügen oder löschen. Diese Funktion macht es einfach, den Commit-Kontext für einen bestimmten Codeabschnitt zu verstehen.

Suchen Sie im Git-Commit-Verlauf nach einer bestimmten Zeichenfolge

In unserem ersten Szenario wollen wir nach allen Commits suchen, bei denen die Commit-Nachricht das Wort Update enthält. Wie gehen wir vor?

Wir führen den Befehl git log wie unten gezeigt aus.

$ git log --grep=Update

Ausgang:

Git-Historie nach String durchsuchen – Ausgabe 1

Wie aus der obigen Ausgabe ersichtlich, hat uns Git nur die Commits mit dem Wort Update gegeben.

Angenommen, wir wollten nach Commits suchen, bei denen die Zeichenfolge "php" in den Dateien hinzugefügt oder entfernt wurde. Wie gehen wir vor?

Wir können den Befehl git log mit dem Flag -S ausführen, wie unten gezeigt:

$ git log -S "php"

Ausgang:

Git-Verlauf nach String durchsuchen – Ausgabe 2

Um einen Unterschied davon zu erhalten, führen wir den folgenden Befehl aus:

$ git log -S "php" -p | grep "php" -C5

Wenn Sie viele Commits mit dem String haben, verwenden Sie am besten ein Difftool. Sie könnten verwirrt sein, weil Git Ihnen eine klobige Ausgabe liefert.

Wir können auch den Befehl git log mit dem Argument -G verwenden, um nach Unterschieden zu suchen, bei denen die hinzugefügten oder entfernten Zeilen mit "php" übereinstimmen, wie unten gezeigt;

$ git log -G "php"

Notiz:

  1. -G akzeptiert einen regulären Ausdruck, während -S Zeichenfolgen akzeptiert.
  2. Das Argument -S findet die Commits, bei denen sich das Wort ändert, während -G nach dem Wort im Diff sucht.

Wir können dem Befehl git log Argumente hinzufügen, um die Ausgabe zu manipulieren. Wir haben besprochen, wie Sie anhand gängiger Szenarien in unserem Commit-Verlauf nach Zeichenfolgen suchen können.

John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Verwandter Artikel - Git Log