Skip to content
A git query language
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
lexical
parser
runtime Add support to count commits (#80) Feb 18, 2019
semantical
utilities
.gitignore Renaming err2, err3, etc to err. (#70) Oct 18, 2018
.travis.yml
LICENSE Add license Apr 15, 2014
Makefile
README.md
autocomplete.go Complete autocomplete_test.go and Simplifying autocomplete.go Dec 28, 2016
autocomplete_test.go Complete autocomplete_test.go and Simplifying autocomplete.go Dec 28, 2016
cmd.go
gitql.go
howtouse.gif
install.sh
tables.md Improve readme.md Apr 13, 2014

README.md

Gitql Build Status

Gitql is a Git query language.

In a repository path...

how to use

See more here

Requirements

  • Go
  • cmake
  • pkg-config

Install

  • go get -u -d github.com/cloudson/gitql
  • cd $GOPATH/src/github.com/cloudson/gitql
  • make
  • sudo make install

Examples

gitql "your query"
or
git ql "your query"

As an example, this is the commits table:

commits
author
author_email
committer
committer_email
hash
date
message
full_message

(see more tables here)

Example Commands

  • select hash, author, message from commits limit 3
  • select hash, message from commits where 'hell' in full_message or 'Fuck' in full_message
  • select hash, message, author_email from commits where author = 'cloudson'
  • select date, message from commits where date < '2014-04-10'
  • select message from commits where 'hell' in message order by date asc

Questions?

gitql -h or open an issue

Notes:

  • Gitql doesn't want to kill git log - it was created just for science! 😅
  • It's read-only - no deleting, inserting, or updating tables or commits. 😝
  • The default limit is 10 rows.
  • It's inspired by textql.
  • Gitql is a compiler/interpreter instead of just read a sqlite database with all commits, tags, etc. because we would need to sync the tables every time before run sql and we would have sqlite bases for each repository. 😐
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.