不是在Git存储库中,而是在GitHub中——我如何搜索特定存储库/分支的提交消息?
当前回答
到2017年,GitHub本身就包含了这个功能。
他们使用的示例搜索是repo:torvalds/linux merge:false加密策略
GIF图片来自https://github.com/blog/2299-search-commit-messages
其他回答
您可以对谷歌爬取的存储库执行此操作(结果因存储库而异)。
搜索所有爬取存储库的所有分支,查找“更改许可”
“变更许可证”网站:https://github.com/*/*/commits
搜索所有爬虫库的主分支“change license”:
“变更许可证”网站:https://github.com/*/*/commits/master
搜索所有爬过的twitter存储库的主分支“更改许可证”
“变更许可证”网站:https://github.com/twitter/*/commits/master
搜索twitter/some_project存储库的所有分支,查找“change license”
“变更许可证”网站:https://github.com/twitter/some_project/commits
这在Eclipse中工作得很好,直到GitHub添加了这个功能:
EGit/用户指南,搜索提交
这已从GitHub删除。我使用:
$git log --all --oneline | grep "search query"
你也可以通过作者筛选:
$git log --all --oneline --author=rickhanlonii | grep "search query"
如果你有一个本地版本的存储库,你可能想尝试一下我写的这个粗糙的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。)
在Github上使用高级搜索和其他答案的组合似乎是最简单的。它基本上是一个搜索字符串构建器。 https://github.com/search/advanced
例如,我想找到Autodesk/maya-usd中包含“USD”的所有提交
然后在搜索结果中可以从左边的列表中选择commit:
推荐文章
- 在另一个目录中运行操作
- GitHub克隆与OAuth访问令牌
- 我可以在GitHub上对要点进行拉请求吗?
- Git:在推送后删除提交的文件
- 在GitHub中编辑git提交消息
- Github:导入上游分支到fork
- GitHub上的分叉和克隆有什么区别?
- 如何将现有的解决方案从Visual Studio 2013添加到GitHub
- 是否可以在GitHub上搜索特定的文件名?
- GitHub -未能连接到GitHub 443 windows/连接到GitHub失败-无错误
- 我怎么能让詹金斯CI与Git触发器推到主人?
- 如何从拉请求中删除提交
- 如何用分发文件发布npm包?
- 如何同步项目到GitHub与Android工作室?
- 跟踪在GitHub上创建的一个新的远程分支