Что я неверно понимаю в команде git log -p --grep ?
Используем git. Задача - найти по всей истории коммитов подстроку.
Запускаю Git Bash.
Ввожу команду: git log -p
Вижу, в коммитах есть подстрока: prAfterEdit
Прерываю вывод.
Ввожу команду: git log -p --grep=prAfterEdit
или git log -p --grep=prAfterEdit -i
пробую разные сочетания: применения опций -i и -F , заключения строки в кавычки
В любом случае получаю пустой вывод.
Что не так?
Какие-то строки таким образом находятся, какие-то нет, понять, разницу в поведении невозможно. Все искомые строки точно есть в логе.
Делать вывод полного лога в файл, и потом в файле искать руками не интересно.
Хочется производить быстрый поиск и получать подцвеченный вывод прям в окне bash. Делать это надо часто. Естественно предполагаю использование полноценных регулярных выражений, опций git log для ограничения и т.д. и т.п.
Может быть посоветуете хороший инструмент для такого поиска? Мне даже не важно фильтровать ветви и ревизии, мне нужен частый поиск по полному логу.
По содержанию коммита, потому и использую ---grep . Очень странная вещь, что он выборочно ищет - какие-то строки ищет, какие-то нет. Причем пробую самые простые строки, не использующие управляющие и спец.символы регулярных выражений.
Не совсем то, но спасибо за подсказку. -S выводит те коммиты, в которых изменилось число упоминаний искомой строки.
Но в доках прям под указанной вами опцией я увидел опцию -G, которая мне очень даже подходит, и отлично работает с регулярными выражениями.
Еще раз спасибо!