不是在Git存储库中,而是在GitHub中——我如何搜索特定存储库/分支的提交消息?


当前回答

截至2019年年中

在左上方的搜索框中输入您的查询 回车 点击“提交”

截图:

其他回答

这在Eclipse中工作得很好,直到GitHub添加了这个功能:

EGit/用户指南,搜索提交

更新(2017/01/05):

GitHub发布了一个更新,允许你现在从他们的UI中搜索提交消息。更多信息请参见博客文章。


我也有同样的问题,昨天联系了GitHub的人:

由于他们将搜索引擎切换到Elasticsearch,因此无法使用GitHub UI搜索提交消息。但是这个功能在团队的愿望清单上。

不幸的是,该函数目前还没有发布日期。

截至2019年年中

在左上方的搜索框中输入您的查询 回车 点击“提交”

截图:

如果你有一个本地版本的存储库,你可能想尝试一下我写的这个粗糙的shell脚本,它可以在默认浏览器的新选项卡中打开与你的搜索词匹配的所有提交的GitHub页面:

#!/bin/sh
for sha1 in $(git rev-list HEAD -i --grep="$1"); do
    python -mwebbrowser https://github.com/RepoOwnerUserName/RepoName/commit/$sha1 >/dev/null 2>/dev/null
done

只需将https://github.com/RepoOwnerUserName/RepoName/替换为你仓库的实际GitHub URL,将脚本保存在某个地方(例如githubsearch.sh,使其可执行(chmod +x githubsearch.sh),然后将以下别名添加到你的~/。bashrc文件:(

alias githubsearch='/path/to/githubsearch.sh'

然后,在Git存储库的任何地方,在终端上执行以下操作:

githubsearch "what you want to search for"

任何与你的搜索词(不区分大小写)匹配的提交都会在你的浏览器中打开相应的GitHub页面。(请注意,如果你的搜索词出现在数百次提交中,这可能会使你的浏览器崩溃,并在一段时间内吃掉你的电脑CPU。)

到2017年,GitHub本身就包含了这个功能。

他们使用的示例搜索是repo:torvalds/linux merge:false加密策略

GIF图片来自https://github.com/blog/2299-search-commit-messages