git:找到已删除的内容; 我只知道周围的情况

Ale*_*ird 5 git

我想找回一些我之前在某些提交中删除的代码.我不记得代码到底是什么,但我记得它做了一些非常有用的东西,但我删除它因为我认为我不需要它.但是,我现在需要回复代码,但我只记得它的功能.

其他信息:包含该功能的文件还包含500行代码.有一个30提交范围,我知道代码出现在一个点上.

这个问题是一个高级别的问题.我如何使用我所知的信息来获取我想要的信息?

Cha*_*esB 0

如果您能记住函数名称或任何其他重要的单词或变量,那么您可以尝试git grep

git grep <regexp> $(git rev-list <rev1>..<rev2>)
Run Code Online (Sandbox Code Playgroud)

其中rev1rev2是您的提交范围的限制。它会 grep 所有提交内容(包括删除),所以你一定会找到你的代码。

有关更多详细信息,请参阅如何在 git 历史记录中 grep(搜索)提交的代码?