Check the Releases page to download the gitquery binary.
Usage:
  gitquery [OPTIONS] <query | shell | version>
Help Options:
  -h, --help  Show this help message
Available commands:
  query    Execute a SQL query a repository.
  shell    Start an interactive session.
  version  Show the version information.For example:
$ cd my_git_repo
$ gitquery query 'SELECT hash, author_email, author_name FROM commits LIMIT 2;' 
SELECT hash, author_email, author_name FROM commits LIMIT 2;
+------------------------------------------+---------------------+-----------------------+
|                   HASH                   |    AUTHOR EMAIL     |      AUTHOR NAME      |
+------------------------------------------+---------------------+-----------------------+
| 003dc36e0067b25333cb5d3a5ccc31fd028a1c83 | user1@test.io       | Santiago M. Mola      |
| 01ace9e4d144aaeb50eb630fed993375609bcf55 | user2@test.io       | Antonio Navarro Perez |
+------------------------------------------+---------------------+-----------------------+You can use the interactive shell like you usually do to explore tables in postgreSQL per example:
$ gitquery shell
           gitQL SHELL
           -----------
You must end your queries with ';'
!> SELECT hash, author_email, author_name FROM commits LIMIT 2;
--> Executing query: SELECT hash, author_email, author_name FROM commits LIMIT 2;
+------------------------------------------+---------------------+-----------------------+
|                   HASH                   |    AUTHOR EMAIL     |      AUTHOR NAME      |
+------------------------------------------+---------------------+-----------------------+
| 003dc36e0067b25333cb5d3a5ccc31fd028a1c83 | user1@test.io       | Santiago M. Mola      |
| 01ace9e4d144aaeb50eb630fed993375609bcf55 | user2@test.io       | Antonio Navarro Perez |
+------------------------------------------+---------------------+-----------------------+
!>  gitquery exposes the following tables:
| Name | Columns | 
|---|---|
| commits | hash, author_name, author_email, author_time, comitter_name, comitter_email, comitter_time, message | 
| blobs | hash, size | 
| refs | name, type, hash, target, is_branch, is_note, is_remote, is_tag | 
| tags | hash, name, tagger_email, tagger_name, tagger_when, message, target | 
| tree_entries | tree_hash, entry_hash, mode, name | 
We are continuously adding more functionality to gitquery. We support a subset of the SQL standard, currently including:
| Supported | |
|---|---|
| Comparison expressions | !=, ==, >, <, >=,<= | 
| Grouping expressions | COUNT, FIRST | 
| Standard expressions | ALIAS, LITERAL, STAR (*) | 
| Statements | CROSS JOIN, DESCRIBE, FILTER (WHERE), GROUP BY, LIMIT, SELECT, SHOW TABLES, SORT | 
gitquery is licensed under the MIT License.
