git 版本管理中历史搜索

318 天前
 jeesk

开源项目的 commit 次数太多了, 我记得有些 commit 提交的代码关键字, 但是搜索了一下,没有找到能够搜索提交代码, 只能搜索 commit message , 大佬们有什么高招吗?

1819 次点击
所在节点    git
4 条回复
Dvel
318 天前
Fork 可以直接搜,侧边栏的放大镜,搜索内容选择 Diff Content 。
geelaw
318 天前
取决于你说的“提交的代码”是什么意思——严格来说每个 git commit 记住的是当时所有的文件,因此同一段代码通常会出现在数个 commits 里面,这大概不是楼主想要的。

如果是要搜索 diff patch text 里面的内容,可以用 git log 的 -G 。

如果你要找的代码片段存在于一个已知的 commit 里面,可以在那个 commit 上 git blame 那个代码文件,发现那段代码被 Git 认为最后一次修改的 commit 。
BlitheChiang
318 天前
op 提到的场景我之前也有碰到过,可以尝试这样的方法:假设你的代码片段是`$代码片段`,使用 `git log -S"$代码片段"` 可以搜索出关于提交内容中含有`$代码判断`的提交。
jeesk
318 天前
@BlitheChiang 谢谢,确实有点效果.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1015315

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX