是否有可能git grep只搜索索引/缓存中的新文件或修改过的文件?
(这种情况的用例是在预提交钩子中使用,它寻找"调试"代码,例如console.log在预期提交中.但我不会被console.log"现有"代码所困扰.最好这也不能匹配它的实例console.log被删除了,但我可以忍受那些匹配!)
mjs*_*mjs 16
事实证明,这样做的方法不是通过git grep,而是通过完全不同的命令,也恰好能够搜索:git diff-index.(简单和正交的另一个胜利......)
我想要的是通过以下方式实现的:
$ git diff-index -U --cached -G <regexp> HEAD
Run Code Online (Sandbox Code Playgroud)
我通常只做以下事情:
git diff | grep TODO
Run Code Online (Sandbox Code Playgroud)
如果你有足够的更改行来让烦人,那么我添加| grep '^+',或开始搞乱-[ABC]选项.