Jak używać GREP do wyszukiwania w repozytorium GIT

Jak używać GREP do wyszukiwania w repozytorium GIT
Każde repozytorium GIT zawiera wiele plików, folderów, gałęzi, tagów itp. Czasami wymaga przeszukania konkretnej zawartości w repozytorium GIT za pomocą wzoru wyrażenia regularnego. Polecenie „git grep” służy do wyszukiwania w gałęzi kasy i plików lokalnych. Ale jeśli użytkownik przeszukuje treść w jednej gałęzi, ale treść jest przechowywana w innej gałęzi repozytorium, wówczas nie otrzyma wyjścia wyszukiwania. W takim przypadku użytkownik musi uruchomić polecenie „git grep”, aby zastosować wyszukiwanie we wszystkich gałęzi repozytorium.

Parametry konfiguracji polecenia GREP:

Parametry polecenia „git grep” są używane do konfiguracji tego polecenia wspomnianego poniżej.

Nazwa parametru Zamiar
Grep.Wzór typu Służy do ustawiania domyślnego zachowania pasującego.
Grep.Pełna nazwa Jest ustawiony na true w celu domyślnie włączania opcji -full -name.
Grep.kolumna Jest ustawiony na true w celu domyślnie włączania opcji -kolumnowej.
Grep.numer kolejki Jest ustawiony na domyślnie na opcję włączania -N.
Grep.extendedRegexp Jest ustawiony na true w celu domyślnie włączania opcji -extended -regexp. Ale ta opcja nie zadziała, jeśli GREP. Typ wzoru zawiera kolejną wartość zamiast wartości domyślnej.
Grep. wątki Służy do ustawienia liczby wątków robotniczych GREP.
Grep.Fallbacktonoindex Jeśli jest ustawiony na true, to git grep -no -index, gdy git grep wykonywał poza repozytorium git. Domyślna wartość tego parametru jest fałszywa.

Opcje polecenia GREP:

„git grep” Polecenie ma wiele opcji wyszukiwania treści repozytorium na różne sposoby. Niektóre z powszechnie używanych opcji GREP opisano poniżej.

Opcja Zamiar
-I, -ignore -case Służy do nieczułych dopasowań wzorców i plików.
-I Służy do nie dopasowania wzoru w plikach binarnych.
-maksymalna głębokość Jest używany dla każdego podanego w wierszu poleceń. Wartość głębokości -1 nie wskazuje na limit. Ta opcja jest ignorowana, jeśli zawiera aktywne karty wieloznaczne.
-r, -rekusive Działa jak -max-głębh = -1 i jest wartością domyślną.
-Brak rekurencji Działa jak -max -głębh = 0.
-W, -Word -Regexp Służy do dopasowania wzoru tylko na granicy słowa.
-v, -Niver -mecz Służy do wybierania linii niestabilnych.
-Pełna nazwa Służy do wymuszenia ścieżek do produkcji w stosunku do najlepszego katalogu projektu.
-mi Jest używany do wzorów zaczynających się od - i powinien być używany z GREP.
-i, -or, -not, (…) Te opcje służą do zdefiniowania wielu wzorów do wyszukiwania. -lub jest domyślnym operatorem i -i ma wyższe pierwszeństwo niż -or.
-E, -extended -regexp, -G, -basic -regexp Jest używany do rozszerzonych/podstawowych wzorów regularnych/podstawowych.
-P, -perl -regexp Jest używany do wzorów wyrażeń regularnych kompatybilnych z perla.
-F, -fiksowane strings Jest używany do stałych wzorów ciągów.
-F Służy do odczytu wzorów z pliku.
-n, -enera Służy do poprzedzania numeru linii do pasujących linii.
-O, -ndinging Służy do drukowania tylko dopasowanych (nie pustych) części linii dopasowującej.
-C, -COUNT Służy do pokazania liczby pasujących linii.
-przerwa Służy do drukowania pustej linii między dopasowaniami z różnych plików.
-pomoc Służy do wyświetlania wszystkich dostępnych opcji z opisem polecenia GREP.

Włącz konfigurację GREP:

Przed uruchomieniem polecenia „git grep” w tym samouczku uruchom następujące polecenie, aby włączyć -Extended-Regexp I -N Opcje polecenia GREP.

$ git config -global grep.extregexp true
$ git config -global grep.Lewnumber True

Użycie polecenia GREP do wyszukiwania:

Lokalne repozytorium nazwane Księgarnia został użyty w tym samouczku do sprawdzenia wyjścia polecenia GREP w celu wyszukiwania treści w repozytorium. Repozytorium zawiera dwa pliki. To są Lista książek.php I Booktype.php.

Uruchom następujące polecenie, aby przeszukać słowo „Typ książki” w plikach repozytorium.

$ git grep „typu książki” $ (git rev -list -all)

Poniższe dane wyjściowe pokazuje, że słowo „Typ książki” istnieje w linia 1 z Booktype.php plik.

Uruchom następujące polecenie, aby wyszukać wiersze plików repozytorium z zawartymi wartościami SHA Commit SHA 'gwizd' Na początku plików. Tutaj, -i Opcja została użyta do wyszukiwania wrażliwego na przypadki.

$ git grep -i 'boo*' $ (git rev -list --all)

Pokazuje to następujące dane wyjściowe 'gwizd' zawiera dwa pliki w wierszu 1, ale wpis dla Lista książek.php Plik pojawił się dwa razy dla dwóch zatrudni.

Wzór został przeszukany w zawartości pliku repozytorium w poprzednich polecech. Uruchom następujące polecenie, aby przeszukać zawartość konkretnego pliku.

$ git grep -f 'bookType.php.'

Pokazuje to następujące dane wyjściowe BookType.php Plik istnieje w bieżącym repozytorium, a plik zawiera pojedynczy wiersz.

Uruchom następujące polecenie, aby przeszukać wzór „Zarezerwuj” w zawartości plików repozytorium. Tutaj opcja -e została użyta do dopasowywania wzorów.

$ git grep -e „książka”

Następujące dane wyjściowe pokazuje, że oba Lista książek.php I Booktype.php Pliki zawierają słowo 'Książka' w linii numer 1.

Uruchom następujące polecenie, aby wyszukać wiele wzorów wewnątrz zawartości plików repozytorium. Tutaj opcja -e używana jest do dopasowywania wzoru regularnego, a rura (|) działa jako logiczna lub. Pliki zawierające słowo 'Książka' Lub 'autor' zostanie pokazane po wykonaniu następującego polecenia.

$ git grep -e 'książka*| autor.'

Poniższe dane wyjściowe pokazuje, że słowo 'autor' istnieje dwa razy w Autorinfo.php plik i słowo 'Książka' istnieje jeden raz w Lista książek.php I Booktype.php plik.

Wniosek:

„git grep” jest użytecznym poleceniem do wyszukiwania określonej zawartości w repozytorium GIT. Wyszukiwanie można wykonać na różne sposoby za pomocą różnych opcji tego polecenia. Zastosowanie niektórych opcji zostały opisane w tym samouczku za pomocą repozytorium demo.