You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在git log中使用--grep实现多关键词的逻辑与匹配?

如何查找同时包含多个关键词的Git提交

你遇到的问题是因为默认情况下,多个--grep参数是逻辑或的关系,只要提交消息包含任意一个关键词就会被返回。要实现逻辑与(同时包含所有关键词),有两种可行的方法:

  • 使用--all-match选项(Git 2.4及以上版本支持)
    直接在原有命令后加上--all-match,就能让所有--grep条件同时生效:

    git log --grep="x" --grep="y" --all-match
    

    这个方法最直观,也是官方推荐的方式。

  • 使用正则表达式匹配(兼容旧版本Git)
    如果你的Git版本低于2.4,可以用正则表达式实现“同时包含x和y”的逻辑,不管两个关键词的顺序:

    # 基本正则语法
    git log --grep="x.*y\|y.*x"
    # 扩展正则语法(更简洁)
    git log -E --grep="x.*y|y.*x"
    

    这里的正则表示“x后面跟着y,或者y后面跟着x”,本质上就是提交消息同时包含两个关键词。

内容的提问来源于stack exchange,提问作者Josh Brunton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:46:00