dr.Brain

doctor Brain

мир глазами веб-разработчика

Git для поиска текста

полезные команды git для поиска текста в репозитарии

dr.Brain

время чтения 2 мин.

Photo by tito pixel on Unsplash

В этой небольшой заметке мы обратим внимание на команды git, действительно полезные для поиска конкретного текста в репозитарии. Полезные, потому что Ваша любимая IDE, к сожалению, порой не дает желаемого результата.

Во время работы с кодом довольно часто возникает необходимость найти определенный текст в репозитарии или заменить его (например, потому что необходимо проверить новую гипотезу). Когда Вы пробуете использовать для этих целей любимую программу: Visual Studio Code или Sublime Text, результатом поиска становятся сотни и тысячи строк информации из package.json, package-lock.json, а так же из других файлов, в которых нет необходимости.

Вместо этого Вы можете использовать команду git grep, котороая является отличных помощником в поиске текста в файлах.

Давайте разберем этот вопрос чуть подробнее.


Например, Вы хотите найти файл, в котором происходит подключение определенной библиотеки: require(“express”) или require(‘express’). Глобальный поиск VS Code даст слишком много результатов. Вместо этого мы можем использовать следующую консольную команду для поиска в репозитарии:

git grep -n $'require([\'"]express[\'"]'

В результате выполнения вышеприведенной команды мы получим путь к конкретному файлу с его именем, номер искомой строки и ее содержимым.


Другой пример: Вам нужно найти файлы, в которых используется свойство http_mode. Иными словами, для того, чтобы найти точки вхождения .http_mode нужно выполнить такую команду:

git grep $'\.http_mode'

И наконец, еще одна консольная команда, не имеющая прямого отношения к git.

Если нужно найти конкретный текст, например: NavLink, в определенном каталоге, а не во всех директориях, Вы можете воспользоваться командой:

grep -rn src/routes -e NavLink

Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.