2013-03-23 12 views

Odpowiedz

8

za pomocą Linux grep i git ls-files:

$ grep -s "search pattern" $(git ls-files -m) 

Uwaga 1: -s opcja grep jest przewidziana Suppress error messages about nonexistent or unreadable files ponieważ git ls-files -m listy usunięte pliki za co powoduje grep dać "No such file or directory" błąd, gdy napotka nieistniejącego pliku.

Uwaga 2: -m opcja git ls-files' jest do obrotu jedynie modified plików

+0

Przeszukuje całą zawartość zmodyfikowanych plików. Aby wyszukać tylko _zmienione linie_, zobacz tutaj: https://stackoverflow.com/questions/13955390/git-grep-but-restricted-to-new-or-modified-files-in-the-index –

0

git grep jest wzorowany na zwykłym grep, może powinieneś po prostu go użyć.

+1

wolę używać git wbudowanym grep powodu wydajność doładowania git grep daje ponad (który również zawiera listę plików usuniętych też!) grep, ale jeśli znasz polecenia, aby uzyskać listę zmodyfikowanych plików i przekazać ją grepowi linuxa, przyjmuję to jako odpowiedź. – sepehr

+0

Spójrz na 'git ls-files --modified' i taki – vonbrand

+1

wydaje się, że nie widzisz mojej odpowiedzi, która używa twojego polecenia" git ls-files ". – sepehr

Powiązane problemy