|
|
51CTO旗下网站
|
|
移动端

一款用 SQL 方式查询 Git 仓库的开源项目进入 GitHub 趋势榜

SQL 应该是每个服务端开发必备的技能,同时 Git 也成为了每个开发人员的必备工具。

作者:佚名来源:Go语言中文网|2020-07-07 16:58

SQL 应该是每个服务端开发必备的技能,同时 Git 也成为了每个开发人员的必备工具。今天这个项目的作者挺有创业,将两者结合起来,通过写 SQL 语句来查询 Git 仓库的相关信息。例如返回当前已检出 branch/commit 的历史记录中的所有提交,语句是:SELECT * FROM commits。

项目地址:https://github.com/augmentable-dev/gitqlite,Star 数 778,进入了 GitHub 趋势榜。

一款用 SQL 方式查询 Git 仓库的开源项目进入 GitHub 趋势榜

它通过 SQLite 虚拟表并使用 go-git 来实现的。

安装:

  1. go install -v -tags=sqlite_vtable github.com/augmentable-dev/gitqlite 

你也可以使用 Docker:

  1. docker build -t gitqlite:latest . 

使用示例:

  1. gitqlite "SELECT * FROM commits" 

一个更复杂的例子:

  1. SELECT author_email, count(*) FROM commits GROUP BY author_email ORDER BY count(*) DESC 

它返回每个作者的提交计数(电子邮件标识作者)。

相关提交、文件、refs 对应的表定义如下:

commits:

ColumnTypeidTEXTmessageTEXTsummaryTEXTauthor_nameTEXTauthor_emailTEXTauthor_whenDATETIMEcommitter_nameTEXTcommitter_emailTEXTcommitter_whenDATETIMEparent_idTEXTparent_countINTtree_idTEXTadditionsINTdeletionsINT

files:

ColumnTypecommit_idTEXTtree_idTEXTnameTEXTmodeTEXTtypeTEXTcontentsTEXT

refs:

ColumnTypenameTEXTtypeTEXThashTEXT

对了,这是一个 Go 语言项目。

【编辑推荐】

  1. 一个老程序员在互联网寒冬下的感悟_IT技术周刊第634期
  2. 推荐9个优秀的 VUE 开源项目
  3. 30天完成60多场技术面试,我学到了什么?
  4. 速速收藏!9个非常受欢迎的开源自动化测试框架盘点
  5. SVM原理详细图文教程!一行代码自动选择核函数,还有实用工具
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

大数据安全运维实战

大数据安全运维实战

CDH+Ambari
共20章 | 大数据陈浩

84人订阅学习

实操案例:Jenkins持续交付和持续部署

实操案例:Jenkins持续交付和持续部署

微服务架构下的自动化部署
共18章 | freshman411

174人订阅学习

思科交换网络安全指南

思科交换网络安全指南

安全才能无忧
共5章 | 思科小牛

105人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微