如何在IntelliJ IDEA中仅搜索已提交(checked-in)文件?
实现仅搜索Git已提交文件的方法
git grep 本身默认就只会搜索Git仓库已追踪(即已提交/暂存)的文件,自动适配 .gitignore 规则,默认不会检索你标记为忽略的 node_modules、build 这类目录,基础用法如下:
git grep <你要搜索的关键词>
如果遇到特殊场景需要主动过滤指定目录,可以加 --exclude-dir 参数:
git grep <搜索关键词> --exclude-dir=node_modules --exclude-dir=build
如果想用原生 grep 实现相同效果,可以搭配 git ls-files(仅列出仓库已追踪的文件)实现:
grep <搜索关键词> $(git ls-files)
异常排查
如果搜索时仍然返回了 node_modules、build 目录下的结果,说明这两个目录被你误提交到了仓库中,执行以下操作修复即可:
- 先移除仓库内缓存的对应目录副本
- 把目录添加到
.gitignore规则中永久忽略
git rm -r --cached node_modules build echo "node_modules/" >> .gitignore echo "build/" >> .gitignore git commit -m "移除误提交的依赖/编译产物目录,添加忽略规则"
内容的提问来源于stack exchange,提问作者neu242
相关产品推荐
相关产品推荐

