如何按提交信息搜索 Git 提交记录

按提交信息搜索:git log --grep="关键词" 支持正则,-i 忽略大小写,--all 搜全部分支,配合 --author、--since 等过滤。组合 git log --grep -p 可看匹配提交的完整 diff。

最佳实践
Git 提交历史与版本恢复示意

用 git log --grep="关键词":支持正则表达式,-i 忽略大小写,--all 跨所有分支搜索。配合 --author、--since、--oneline 能组合出精确的考古查询。

常用搜索

git log --grep="登录" --oneline           # 信息含"登录"的提交
git log --grep="fix" -i --oneline         # 忽略大小写
git log --grep="^feat" --oneline          # 正则:feat 开头
git log --grep="bug" --all --oneline      # 全部分支搜
git log --grep="支付" -p                  # 连改动内容一起看

组合过滤

git log --grep="refactor" --author="zhang" --since="3 months ago" --oneline
git log --grep="JIRA-1234" --oneline      # 按 issue 号追溯

按作者/时间/内容搜索的搭档

git log --author="name"          # 按作者
git log --since="2026-01-01"     # 按时间
git log -S"函数名"                # 按代码内容(pickaxe)

常见问题(FAQ)

Q:grep 搜的是提交信息还是代码?

--grep 只搜提交信息。搜代码内容用 -S/-G 或 git grep $(git rev-list --all)。

Q:多条件"或"搜索怎么写?

git log --grep="bug" --grep="fix" --all-match?不对——默认多个 --grep 是"或",--all-match 才变"与"。记反了会得出空结果。

Q:想统计某类提交有多少?

git log --grep="^feat" --oneline | wc -l,或配合 --format 输出结构化数据喂给脚本。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台