首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

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

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

安装:

代码语言:javascript
复制
go install -v -tags=sqlite_vtable github.com/augmentable-dev/gitqlite 

你也可以使用 Docker:

代码语言:javascript
复制
docker build -t gitqlite:latest . 

使用示例:

代码语言:javascript
复制
gitqlite "SELECT * FROM commits" 

一个更复杂的例子:

代码语言:javascript
复制
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 语言项目。

  • 发表于:
  • 原文链接http://news.51cto.com/art/202007/620472.htm
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券