ste*_*eve 11 git grep commit git-commit
所以在运行之前git commit我经常运行以下内容:
git grep --cached -l -I "debugger"
我认为它类似于:
git diff --cached
(它将显示您即将提交的所有更改,即将显示您的暂存文件中的差异).
不幸的是,我刚刚发现这个--cached选项git grep只是告诉git"只"查看其索引中的所有内容.
那么我怎样才能运行git grep并让它只通过我的分阶段文件?
(是的,我知道我可以简单地进行git diff --cached搜索,但我宁愿拥有编程能力来浏览我的分段文件.)
Ben*_*son 12
许多预提交钩子用于git diff-index --cached -S<pat> REV查找添加或删除特定模式的更改.所以在你的情况下,git diff-index --cached -Sdebugger HEAD.您可能还想添加-u以获取差异,否则它只会识别有问题的文件.
如果您有一个类似 Unix 的 shell 可用,答案非常简单:
git grep --cached "debugger" $(git diff --cached --name-only)
git grep这将在暂存文件列表上运行。