Git для поиска текста
полезные команды git для поиска текста в репозитарии
В этой небольшой заметке мы обратим внимание на команды 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
Спасибо за внимание.