GQL - SQL風にGitリポジトリの情報を扱うことができるGit Query language

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20231204 110839

バージョン管理ツールGitのリポジトリ.gitには、ソースコードの変更ごとの差分情報をはじめとしたさまざまな情報が格納されています。

格納された情報は通常、gitコマンドを利用してアクセスすることができますが、gitのオプションは複雑で毎回使いこなすのに苦労しているという方は多いかもしれません。

本日紹介する「GQL」は、このgitリポジトリをデータベースファイルとみたて、SQLによく似たクエリを実行することができるRust製のオープンソースツールです。

使い慣れたSQL(風言語)でリポジトリ素早く情報を引き出すことができます。

目次

GQLの使用方法

GQLはRust製ツールで、cargo等を利用してインストールすることができます。

cargo install gitql

インストール後、gitql -r <repository_path> <repository_path>で実行します。

gitql -r ./GQL
gql > 

gqlプロンプトが起動したら、SQL風の問い合わせを実行することができます。

コミットの情報を取得したい場合は、SELECT * FROM commitをはじめとした、以下のようなコマンドを実行します。

SELECT * FROM commit
SELECT name, email FROM commits
SELECT name, email FROM commits ORDER BY name DESC, email ASC
SELECT name, email FROM commits WHERE name LIKE "%gmail%" ORDER BY name
SELECT * FROM commits WHERE LOWER(name) = "amrdeveloper"
SELECT name FROM commits GROUP By name
SELECT name FROM commits GROUP By name having name = "AmrDeveloper"

単純なselectだけではなくORDER BYやGROUP BYなどの便利な機能が利用できます。

利用可能なテーブルはcommitsのほかにも、references、diffs、branches、tagsなどが存在します。

S 20231204 113004

詳細は公式サイトで確認可能です。

まとめ

GQLはGitリポジトリの情報をSQL風の言語を使って引き出すことができるツールです。複数のリポジトリにも対応しており、SQLを使い慣れている方にとっては便利なツールだといえそうです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次