我猜这是由 BSD 与 Linux grep 库引起的。
查看 git grep 的 -w(仅在单词边界匹配模式)选项是否适合您:
$ git grep -w blah
Run Code Online (Sandbox Code Playgroud)
经过同样的努力,我在BSD邮件列表上发现了这篇非常有用的文章。所以这是(虽然很丑)的解决方案:
git grep "[[:<:]]blah[[:>:]]"
Run Code Online (Sandbox Code Playgroud)
-wgit-grep 的标志也可以使用,但是有时您只想匹配单词的开头或结尾。
更新:这已在OS X 10.9“小牛”中更改。现在你可以使用\<,\>和\b。[[:<:]]并且[[:>:]]不再受支持。
小智 5
您可以在PCRE支持和使用git grep -P "\bblah\b"字边界的情况下编译 git。
以下是有关如何使用 OSX Homebrew 编译 git 的指南: http://realultimateprogramming.blogspot.com/2012/01/how-to-enable-git-grep-p-on-os-x-using.html