【发布时间】:2021-10-14 18:54:03
【问题描述】:
如何在不知道文件名的情况下(可能)也被删除的文件中搜索特定的代码行?
更具体地说,一个月前我正在开发一个script 并让它满足我们的需求,但是发生了一个相当特殊的情况。我们确信过去存在一个包含行/单词x-shared-component 的文件。当前存储库中似乎不再存在此行。我们不确定该行是否在过去被删除,或者文件(名称也不知道)是否刚刚被删除。
我试过了:
- 如果有任何文件包含带有
git grep -i "x-shared-components"的行,则查看当前 HEAD git log -p --all | grep -i "x-shared-components"git grep -i "x-shared-components" $(git rev-list --all)
有没有我没有考虑到的遗漏?我试图删除一个文件并使用git log -p --all | grep -i <regex> 搜索其内容,并且我能够找到行。如果我似乎找不到任何结果,这是否意味着当前的 git 存储库中实际上从未存在过这样的行?
【问题讨论】:
-
一个笨拙但简单有效的方法:git bisect 以及简单的全局文本搜索。
标签: git grep git-log git-rev-list