不区分大小写的git pickaxe搜索

chy5wohz  于 2023-02-02  发布在  Git
关注(0)|答案(1)|浏览(202)

我试图找到所有在git仓库中引入/移除特定字符串或其任意大写形式(例如foobarFooBarfooBar)的提交。
基于这个SO answer(它涵盖了不同的基本用例),我首先尝试使用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。

8ehkhllq

8ehkhllq1#

-i与镐配合使用的方法(参见commit accccde,git 1.7.10,2012年4月)是:

git log -S foobar -i --oneline

git log --regexp-ignore-case -Sfoobar

git log -i -Sfoobar

注意,在1.x版本的git中,这个选项不适用于regexp,只适用于固定的字符串,只适用于git 2.0和commit 218c45a,git 2.0,May 2014之后的regexp。

相关问题