我试图寻找到一个特定的字符串或任意大写体(例如所有提交foobar
,FooBar
,fooBar
在一个Git仓库取出)引入/。
基于这个答案(涵盖了不同的基本用例),我首先尝试使用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。
-i
与镐一起使用的方式(请参见commit accccde,git 1.7.10,2012年4月):
git log -S foobar -i --oneline
# or
git log --regexp-ignore-case -Sfoobar
# or
git log -i -Sfoobar
请注意,在1.x git版本中,此选项不适用于正则表达式,仅适用于固定字符串。仅在git 2.0和commit 218c45a,git 2.0,2014年5月之后,才可以使用正则表达式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句