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:
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:
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:
-G
akzeptiert einen regulären Ausdruck, während-S
Zeichenfolgen akzeptiert.- 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 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