insensitive git pickaxe search
 I'm trying to find all commits where a particular string or arbitrary capitalisation thereof (eg foobar , FooBar , fooBar ) was introduced/removed in a git repository.  
 Based on this SO answer (which covers a different basic use case), I first tried using git grep  
git rev-list --all | xargs git grep -i foobar
This was pretty awful, as it only gave information as to whether the string is present in a commit, so I ended up with loads of superfluous commits.
 I then tried pickaxe , which got me most of the way there, eg  
git log --pickaxe-regex -S'foobar' --oneline
 This only got the lowercase foobar .  I tried the -i flag, but that doesn't seem to apply to the --pickaxe-regex option.  I then resorted to using patterns like this, which got me a bit further:  
git log --pickaxe-regex -S'.oo.ar' --oneline
 Is there a way to make --pickaxe-regex do case-insensitive matching?  
I'm using git v1.7.12.4.
 The way the -i is used with pickaxe (see commit accccde, git 1.7.10, April 2012) is:  
git log -S foobar -i --oneline
# or
git log --regexp-ignore-case -Sfoobar
# or
git log -i -Sfoobar
Note that with 1.x git versions this option will not work with a regexps, only with a fixed string. It works with regexps only since git 2.0 and commit 218c45a, git 2.0, May 2014.
链接地址: http://www.djcxy.com/p/19688.html上一篇: 什么是在bash上打勾的cmd / powershell等效物?
下一篇: 不敏感的git镐搜索
