【问题标题】:How to search in commit messages using command line? [duplicate]如何使用命令行搜索提交消息? [复制]
【发布时间】:2011-04-19 02:40:23
【问题描述】:

可能重复:
How to search through all commits in the repository?

有没有办法使用命令行搜索提交标头?

【问题讨论】:

  • 这不是真正的重复,另一个问题是关于悬空提交,而 这个不是。投票重新开放。
  • 啊。但这是this one 的副本。虽然这是较旧的问题,但较新的问题有更好的答案恕我直言。我希望我可以撤销我的投票以重新开放。
  • 不要忘记使用--all 搜索非祖先提交:}

标签: git console


【解决方案1】:
git log --grep=<pattern>
    Limit the commits output to ones with log message that matches the 
    specified pattern (regular expression).

--git help log

【讨论】:

  • 我认为这个答案部分错误,因为 --grep 选项搜索整个提交消息,而不仅仅是标题。在这种情况下,@czchen 的回答更正确。
  • 除了 czchen 的答案需要使用外部 grep 实用程序这一事实之外
  • 感谢这对我帮助很大,在此之前我使用了 ack-grep。
  • 这并没有具体回答 OP 关于标头的问题,但它确实回答了我关于提交消息的一般问题 - 不仅是我的,因为它是谷歌中“git search commit messages”的#1链接跨度>
  • 可能还值得一提的是,这只会搜索您的 本地 存储库。
【解决方案2】:
git log --oneline | grep PATTERN

【讨论】:

  • 这应该是公认的答案!
  • 这不会错过提交消息中除第一行之外的 PATTERN 提交吗?
  • 需要 grep 可用,即这是一个 linux / git bash 特定的解决方案(除非你在 windows 上安装了 grep)
  • @Armand 哈哈,是的,很抱歉,我的评论应该是“不会在 Windows 上工作”
  • 如果您使用的是 Windows 或其他环境。没有grep,结合两个答案:git log --oneline --grep=PATTERN
猜你喜欢
  • 2013-04-13
  • 2013-08-09
  • 2019-03-25
  • 1970-01-01
  • 2023-01-01
  • 2019-02-12
  • 2018-06-04
  • 2014-07-08
  • 2020-12-24
相关资源
最近更新 更多