.blah | ||
bin | ||
example | ||
lib | ||
scripts | ||
.gitignore | ||
CONTRIBUTING.md | ||
DOCUMENTATION.md | ||
LICENSE | ||
MIGRATION.md | ||
package.json | ||
README.md |
$ git-stats
Local git statistics, including a GitHub-like contributions calendars.
I'd be curious to see your calendar with all your commits. Ping me on Twitter (@IonicaBizau). 😄 Until then, here's my calendar:
Contents
Installation
You can install the package globally and use it as command line tool:
# Install the package globally
npm i -g git-stats
# Initialize git hooks
curl -s https://raw.githubusercontent.com/IonicaBizau/git-stats/master/scripts/init-git-post-commit | bash
Then, run git-stats --help
and see what the cli tool can do.
$ git-stats --help
git-stats --help
A GitHub-like contributions calendar, but locally, with all your git commits.
usage: git-stats [start] [end] [options] [data]
start: Optional start date
end: Optional end date
options:
-v Displays version information.
-h --help Displays this help.
--no-ansi Doesn't use ANSI colors in the squares.
--record <data> Records a new commit. Don't use this unless you are
a mad scientist. If you are a developer, just use this
option as part of the module.
--light Enable the light theme.
examples:
git-stats # Displays your commit calendar
git-stats -v
git-stats -h
git-stats --light # Light mode
git-stats '1 January 2012' # All the commits from 1 January 2012, to now
git-stats '1 January 2012' '31 December 2012' # All the commits from 2012
Your commit history is kept in the .git-stats, in your $HOME directory (~/)
Documentation can be found at https://github.com/IonicaBizau/git-stats
If you run git-stats
to display graph on Windows, please use a terminal that can properly display ANSI colors.
Cygwin Terminal is known to work, while Windows Command Prompt and Git Bash do not.
Importing and deleting commits
I know it's not nice to start your git commit calendar from scratch. That's why I
created a git-stats-importer
that imports or deletes the commits from a repository.
Check it out here: https://github.com/IonicaBizau/git-stats-importer
The usage is simple:
# Install the importer tool
$ npm install -g git-stats-importer
# Go to the repository you want to import
$ cd path/to/my-repository
# Import the commits
$ git-stats-importer
# ...or delete them if that's a dummy repository
$ git-stats-importer --delete
Importing all the commits from GitHub and BitBucket
Yes, you read correctly! That's also possible. I built a tool for that too!
# Download the repository downloader
$ git clone https://github.com/IonicaBizau/repository-downloader.git
# Go to repository downloader
$ cd repository-downloader
# Install the dependencies
$ npm install
# Start downloading and importing
$ ./start
See the GitHub Contributions calendar
There is a solution for that, too! 😄 It's called ghcal
.
# Install ghcal
$ npm install -g ghcal
# Checkout my contributions
$ ghcal ionicabizau
For more detailed documentation, check out the repository: https://github.com/IonicaBizau/ghcal.
Example
Here is an example how to use this package as library.
// Dependencies
var GitStats = require("git-stats");
// Create the GitStats instance
var g1 = new GitStats();
// Display the ansi calendar
g1.ansiCalendar({
theme: "DARK"
}, function (err, data) {
console.log(err || data);
});
Documentation
For full API reference, see the DOCUMENTATION.md file.
How to contribute
Have an idea? Found a bug? See how to contribute.
License
KINDLY © Ionică Bizău–The LICENSE file contains a copy of the license.