前言
以前学习时遇到问题的主要解决方式都是百度,但现在除了百度之外目前知识框架遇到问题时还会去框架的官网或github issues中寻找解决方式,该文章主要的介绍内容为github issues的使用。
issues过滤查询语法(参考自官网文档)
上图是携程的apollo在github的Issues页面,以下是比较常用的搜索语法:
- 搜索栏直接输入内容查找,会自动从所有issues中搜索标题、内容、标签中含输入内容的issue
- issue含两种state(状态),分别是open(打开)和closed(关闭),可通过添加条件
is:{state}
或state:{state}
来筛选issue,如is:closed
查找已关闭的issue content in:title|body|comments
语法:搜索issue中标题|内容|评论中含指定内容(content)的issue,如标题含docker且已关闭的issue:docker in:title is:closed
,当不用in时则会从标题、正文和评论全部搜索含关键字的issue,如dockeris:closed
查找标题、正文和评论全部搜索含关键字docker的issue。(下图为issue:docker in:title is:closed
的结果)- 点击上图中的红框Labels可以查看当前项目中的所有标签,并不是每个issue都会有标签的,可以通过在搜索栏输入
label:{Label}
来搜索含指定Label的issue,如查询label为docker的标签:label:docker
以上用法主要参考自官网文档
Github开源项目问题解决方式
看完了issue的搜索语法大家肯定都知道了直接在议题(issue)中查找是一个很好的问题解决方法,当在issues中没有我们想要的,那我们可以成为issues的发起者来让项目维护者协助一下我们。比如我想了解Spring Boot RocketMQ有没有可以直接通过application.yml配置文件或在@RocketMQMessageListener进行配置来达到MQ限流的目的,如下图(请不要在意我蹩脚的英语):
虽然RocketMQ是阿里开源的,但也交给apache维护了。issues中也有不少中文问题,但管理员都是用英文回答的,所以也就用英文提问了。管理的回复也很快,1小时内就告诉我可以通过wiki文档FAQ的第8点来配置MQ限流(有点没看完文档的尴尬),解决方法如下图:
以上是个人通过github解决开发中框架使用问题的解决方式,如果觉得有用的多多点赞哈,还是要恰饭滴。