Konfigurationsparameter des GREP -Befehls:
Die Befehlsparameter "Git Grep" werden verwendet, um diesen Befehl zu konfigurieren, das unten erwähnt wurde.
Parametername | Zweck |
---|---|
Grep.Muster-Art | Es wird verwendet, um das Standard -Matching -Verhalten festzulegen. |
Grep.vollständiger Name | Es ist auf TRUE festgelegt, um die Option für -vollname standardmäßig zu aktivieren. |
Grep.Spalte | Es ist auf TRUE eingestellt, um die Option -Column standardmäßig zu aktivieren. |
Grep.Zeilennummer | Es ist auf TRUE eingestellt, um die Option -n standardmäßig aktivieren zu können. |
Grep.ExtendedRegExp | Es ist auf TRUE eingestellt, um die Option "Extededed -REGEXP" standardmäßig zu aktivieren. Diese Option funktioniert jedoch nicht, wenn der Grep. Der Mustertyp enthält einen anderen Wert anstelle des Standardwerts. |
Grep. Themen | Es wird verwendet, um die Anzahl der Grep -Arbeiter -Threads einzustellen. |
Grep.FallbacktonoIndex | Wenn es auf wahr ist, dann wird der Git Grep -No -Index, wenn der Git Grep außerhalb eines Git -Repositorys ausgeführt wird. Der Standardwert dieses Parameters ist falsch. |
Optionen des GREP -Befehls:
Der 'Git Grep' Der Befehl verfügt über viele Optionen, um den Repository -Inhalt auf unterschiedliche Weise zu durchsuchen. Einige der häufig verwendeten Grep -Optionen haben unten beschrieben.
Möglichkeit | Zweck |
---|---|
-i, -Inness -Case | Es wird für Fall unempfindliche Übereinstimmungen der Muster und der Dateien verwendet. |
-ICH | Es wird verwendet, um das Muster nicht in Binärdateien zu übereinstimmen. |
-maximale Tiefe | Es wird für jede in der Befehlszeile angegeben. Der Tiefenwert von -1 zeigt keine Grenze an. Diese Option wird ignoriert, wenn sie aktive Wildcards enthält. |
-r, -rezisive | Es funktioniert wie -max-Depth = -1 und es ist der Standardwert. |
-No-recursive | Es funktioniert wie -max -Depth = 0. |
-w, -Word -regexp | Es wird verwendet, um das Muster nur an der Wortgrenze zu entsprechen. |
-v, -invert -Match | Es wird verwendet, um nicht übereinstimmende Zeilen auszuwählen. |
-vollständiger Name | Es wird verwendet, um die Pfade zum Ausgang relativ zum Top -Verzeichnis von Projekten zu zwingen. |
-e | Es wird für die Muster verwendet, beginnend mit - und sollte mit dem Grep verwendet werden. |
-und, -or, -not, (…) | Diese Optionen werden verwendet, um die mehreren Muster für die Suche zu definieren. -oder ist der Standardbetreiber und hat eine höhere Vorrang. |
-E, -extended -regexp, -g, -basic -regexp | Es wird für POSIX Extended/Basic Regexp -Muster verwendet. |
-P, -Perl -regexp | Es wird für perl-kompatible reguläre Expressionsmuster verwendet. |
-F, -Fixed -Strings | Es wird für die festen Zeichenfolgenmuster verwendet. |
-F | Es wird verwendet, um die Muster aus der Datei zu lesen. |
-n, -Line -number | Es wird verwendet, um die Zeilennummer den übereinstimmenden Zeilen zu präfixen. |
-O, nur matching | Es wird verwendet, um nur die übereinstimmenden (nicht leeren) Teile einer passenden Linie zu drucken. |
-C, -Count | Es wird verwendet, um die Anzahl der übereinstimmenden Zeilen anzuzeigen. |
-brechen | Es wird verwendet, um eine leere Linie zwischen den Übereinstimmungen aus den verschiedenen Dateien zu drucken. |
-Hilfe | Es wird verwendet, um alle verfügbaren Optionen mit der Beschreibung des GREP -Befehls anzuzeigen. |
Aktivieren Sie die Grep -Konfiguration:
Führen Sie vor dem Ausführen des Befehls "Git Grep" dieses Tutorials den folgenden Befehl aus, um aktiviert zu werden -erweitert-regexp Und -N Optionen des GREP -Befehls.
$ git config --global grep.extendregexp true
$ git config --global grep.Leinenzahl wahr
Verwendung des GREP -Befehls zur Suche:
Ein lokales Repository mit dem Namen Buchhandlung wurde in diesem Tutorial verwendet, um die Ausgabe des GREP -Befehls zum Durchsuchen von Inhalten im Repository zu überprüfen. Das Repository enthält zwei Dateien. Diese sind Bücherliste.Php Und bookType.Php.
Führen Sie den folgenden Befehl aus, um das Wort zu durchsuchen "Buchentyp" In den Repository -Dateien.
$ git grep 'buchtyp' $ (git rev -list -all)
Die folgende Ausgabe zeigt, dass das Wort "Buchentyp" existiert in Linie 1 des bookType.Php Datei.
Führen Sie den folgenden Befehl aus, um die Zeilen der Repository -Dateien mit den enthaltenen SHA -Werten zu durchsuchen, die enthalten "Boo" Zu Beginn der Dateien. Hier, das i Die Option wurde für die von Fall unempfindliche Suche verwendet.
$ git grep -i 'boo*' $ (Git rev -list -alle)
Die folgende Ausgabe zeigt das "Boo" Enthält zwei Dateien unter Zeile Nummer 1, aber der Eintrag für die Bücherliste.Php Die Datei wurde zweimal für zwei Commits angezeigt.
Das Muster wurde im Inhalt der Repository -Datei in den vorherigen Befehlen durchsucht. Führen Sie den folgenden Befehl aus, um den Inhalt der bestimmten Datei zu durchsuchen.
$ git grep -f 'bookType.Php.''
Die folgende Ausgabe zeigt das Der Buchtyp.Php Die Datei gibt es im aktuellen Repository, und die Datei enthält eine einzelne Zeile.
Führen Sie den folgenden Befehl aus, um das Muster in dem Inhalt der Repository -Dateien zu durchsuchen, "Buch". Hier wurde die Option -e für das Musteranpassung verwendet.
$ git grep -e 'Buch' '
Die folgende Ausgabe zeigt, dass beide Bücherliste.Php Und bookType.Php Dateien enthalten das Wort 'Buch' bei Liniennummer 1.
Führen Sie den folgenden Befehl aus, um mehrere Muster im Inhalt der Repository -Dateien zu durchsuchen. Hier wird die Option -e für das Regex -Muster -Matching verwendet, und das Rohr (|) funktioniert als logisch oder. Die Dateien, die das Wort enthalten 'Buch' oder 'Autor' wird nach der Ausführung des folgenden Befehls angezeigt.
$ Git Grep -e 'Buch*| Autor.''
Die folgende Ausgabe zeigt, dass das Wort 'Autor' existiert zweimal in der Autorinfo.Php Datei und das Wort 'Buch' existiert einmal in der Bücherliste.Php Und bookType.Php Datei.
Abschluss:
Der 'Git Grep' ist ein nützlicher Befehl zum Durchsuchen des spezifischen Inhalts im Git -Repository. Die Suche kann auf unterschiedliche Weise durchgeführt werden, indem die verschiedenen Optionen dieses Befehls verwendet werden. Die Verwendung einiger Optionen wurde in diesem Tutorial mit einem Demo -Repository beschrieben.