GitHeat uses your local machine to parse the git-log of your repo and build an interactive heatmap in your terminal. You can use GitHeat to see what days are most popular, and what months are most active.
To start the interactive heatmap, run:
$ githeat.interactive
or skip the interactive part and print the heatmap directly by running:
$ githeat
Want to merge in the months? run
$ githeat --month-merge
Want to separate each day block? run
$ githeat --separate
Want to change the width of each block? choose between thin, reg, thick:
$ githeat --width {thick,reg,thin}
Want to change the color of the graph? choose between grass, sky, fire
$ githeat --color {grass,fire,sky}
Want to show who are the top 10 most committers? run and it will parse the days for you:
$ githeat --stat --stat-number 10
Want to filter out commits by author? write regex in the author argument:
$ githeat --author="Will"
Want to filter out commits by keywords in commit? write regex in the grep argument:
$ githeat --grep="Fix"
Have a specific YAML configuration file you want to use? pass it to the config argument:
$ githeat --config PATH_TO_CONFIG.yaml
Need help? run:
$ githeat -h usage: githeat.py [-h] [-c FILE] [--gtype {inline,block}] [--width {thick,reg,thin}] [--days DAYS [DAYS ...]] [--color {grass,fire,sky}] [--stat-number STAT_NUMBER] [--stat] [--separate] [--month-merge] [--author AUTHOR] [--grep GREP] [-v] [--logging {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}] githeat: Terminal Heatmap for your git repos optional arguments: -h, --help show this help message and exit -c FILE, --config FILE Specify YAML config file --gtype {inline,block} Choose how you want the graph to be displayed --width {thick,reg,thin} Choose how wide you want the graph blocks to be --days DAYS [DAYS ...] Choose what days to show. Please enter list of day abbreviations or full name of week --color {grass,fire,sky} Choose type of coloring you want for your graph --stat-number STAT_NUMBER Number of top committers to show in stat --stat, -s Show commits stat --separate, -b Separate each day --month-merge Separate each month --author AUTHOR, -a AUTHOR Filter heatmap by author. You can also write regex here --grep GREP, -g GREP Filter by keywords in commits -v, --version print version and exit --logging {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET} logger level
or for the interactive help
$ githeat.interactive -h usage: githeat.py [-h] [-c FILE] [--width {thick,reg,thin}] [--days DAYS [DAYS ...]] [--color {grass,fire,sky}] [--month-merge] [--hide-legend] [--author AUTHOR] [--grep GREP] [-v] [--logging {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET}] githeat: Terminal Heatmap for your git repos optional arguments: -h, --help show this help message and exit -c FILE, --config FILE Specify YAML config file --width {thick,reg,thin} Choose how wide you want the graph blocks to be --days DAYS [DAYS ...] Choose what days to show. Please enter list of day abbreviations or full name of week --color {grass,fire,sky} Choose type of coloring you want for your graph --month-merge Separate each month --hide-legend Hide legend --author AUTHOR, -a AUTHOR Filter heatmap by author. You can also write regex here --grep GREP, -g GREP Filter by keywords in commits -v, --version print version and exit --logging {CRITICAL,ERROR,WARNING,INFO,DEBUG,NOTSET} logger level
- Python 2.7
Install using pip:
$ pip install githeat
Or to obtain the latest most-up-to-date version, clone the repo and install it from source:
$ git clone https://github.com/AmmsA/Githeat $ cd Githeat && python setup.py install
Install for the current user:
$ python setup.py install --user
Run the application:
$ python -m githeat --help
Run the test suite:
$ py.test test/
Build documentation:
$ cd doc && make html
Deploy the application in a self-contained Virtualenv environment:
$ python deploy.py /path/to/apps $ cd /path/to/apps/ && githeat/bin/cli --help