Я пытаюсь найти все коммиты, где в репозитории git была введена/удалена определенная строка или произвольная ее капитализация (например, foobar
, foobar
, foobar
).
Основываясь на этом SO-ответе (который охватывает другой базовый вариант использования), я сначала попытался использовать git grep
git rev-list --all | xargs git grep -i foobar
Это было довольно ужасно, так как оно давало только информацию о том, присутствует ли строка в фиксации, поэтому я столкнулся с множеством лишних коммитов.
Затем я попробовал pickaxe
, который доставил мне большую часть пути, например.
git log --pickaxe-regex -S'foobar' --oneline
Это получилось только в нижнем регистре foobar
. Я попробовал флаг -i
, но это не похоже на параметр --pickaxe-regex
. Затем я прибегал к использованию таких шаблонов, которые меня немного улучшили:
git log --pickaxe-regex -S'.oo.ar' --oneline
Есть ли способ сделать --pickaxe-regex
совпадение без учета регистра?
Я использую git v1.7.12.4.