如何使用SourceGraph查询字符串是否曾存在于代码仓库中
SourceGraph全仓库历史代码搜索方案
完全可以实现覆盖已删除文件、历史修改版本的全仓库内容搜索,和你使用的git grep <regexp> $(git rev-list --all)命令效果一致。
你已有基础查询语句:repo:^<url to my repo>$
仅需补充对应参数即可完成目标搜索,不同场景的语法如下:
- 全历史代码内容搜索(与你的Git命令效果等价):添加
rev:*参数匹配所有历史修订版本,再补充你要搜索的字符串或正则表达式即可,完整语法:repo:^<你的仓库地址>$ rev:* <要搜索的字符串/正则> - 仅搜索特定分支的历史内容:将
rev:*替换为rev:<目标分支名>/*即可,例如仅搜索main分支全历史的写法为:repo:^<你的仓库地址>$ rev:main/* <要搜索的字符串/正则> - 搜索提交信息中的关键词:指定
type:commit参数,语法为:repo:^<你的仓库地址>$ type:commit <提交信息关键词> - 搜索历史提交的变更差异中的内容:指定
type:diff参数,语法为:repo:^<你的仓库地址>$ type:diff <差异内容关键词>
内容的提问来源于stack exchange,提问作者PartOfTheOhana
相关产品推荐
相关产品推荐

