git-commit-statistics
Get commit log statistics of git repository.
Features
Can get belows statistics. Examples of result are here.
- byPerDayOfMonth
- byPerMonth
- byPerWeekDays
- byPerYear
- byPerDayHour
- byDayHourOfWeekDay
Installation
$ npm install git-commit-statistics
Usaga
const CommitStatistics = require('git-commit-statistics');
const cs = new CommitStatistics('<yourRepositoryPath>/.git');
let result = cs.getByPerDayOfMonth();
const options = {
author: 'YoshinoriN',
since: '2017-01-01',
after: '2018-01-01',
maxCount: 100,
noMerges: true
};
let result = cs.getByPerDayOfMonth(options);
All available methods are belows.
Options
Input argument to each method. Example is below.
const options = {
author: 'YoshinoriN',
maxCount: 100
};
let result = cs.getByPerDayOfMonth(options);
Allowable options for each methods argument.
name | type | example |
---|
author | string | 'YoshinoriN' |
since | string | '2017-01-01' |
after | string | '2018-01-01' |
until | string | '2018-01-01' |
before | string | '2018-01-01' |
maxCount | number | 100 |
noMerges | boolean | true |
Please see official git document what is mean.
Examples of Result
Example result of each methods.
getByPerDayOfMonth
[ { day: 1, count: 809 },
{ day: 2, count: 733 },
...
{ day: 30, count: 642 },
{ day: 31, count: 340 } ]
getByPerMonth
[ { id: 1, month: 'Jan', count: 2124 },
{ id: 2, month: 'Feb', count: 2147 },
...
{ id: 11, month: 'Nov', count: 1631 },
{ id: 12, month: 'Dec', count: 2110 } ]
getByPerWeekDay
[ { id: 0, dayOfWeek: 'Sun', count: 1891 },
{ id: 1, dayOfWeek: 'Mon', count: 3899 },
...
{ id: 5, dayOfWeek: 'Fri', count: 3765 },
{ id: 6, dayOfWeek: 'Sat', count: 1950 } ]
getByPerYear
[ { year: 2009, count: 915 },
{ year: 2010, count: 1945 },
...
{ year: 2017, count: 4610 },
{ year: 2018, count: 3429 } ]
getByDayHour
[ { hour: 0, count: 744 },
{ hour: 1, count: 671 },
...
{ hour: 22, count: 987 },
{ hour: 23, count: 938 } ]
getByDayHourOfWeekDay
{ id: 0,
Sun:
[ { hour: 11, count: 1 },
{ hour: 12, count: 1 },
{ hour: 23, count: 1 } ] }
{ id: 1,
Mon:
[ { hour: 8, count: 1 },
{ hour: 9, count: 3 },
...
{ hour: 20, count: 2 },
{ hour: 21, count: 1 } ] }
...
{ id: 5,
Fri:
[ { hour: 5, count: 4 },
{ hour: 7, count: 2 },
...
{ hour: 21, count: 1 } ] }
{ id: 6,
Sat:
[ { hour: 1, count: 2 },
{ hour: 4, count: 1 },
...
{ hour: 20, count: 1 },
{ hour: 21, count: 2 } ] }
License
MIT