git-stats/README.md

173 lines
6 KiB
Markdown
Raw Normal View History

<!---------------------------------------------------------------------------->
<!-- STOP, LOOK & LISTEN! -->
<!-- ==================== -->
<!-- Do NOT edit this file directly since it's generated from a template -->
<!-- file, using https://github.com/IonicaBizau/node-blah -->
<!-- -->
<!-- If you found a typo in documentation, fix it in the source files -->
<!-- (`lib/*.js`) and make a pull request. -->
<!-- -->
<!-- If you have any other ideas, open an issue. -->
<!-- -->
<!-- Please consider reading the contribution steps (CONTRIBUTING.md). -->
<!-- * * * Thanks! * * * -->
<!---------------------------------------------------------------------------->
![git-stats](http://i.imgur.com/Q7TQYHx.png)
# `$ git-stats` [![Donate now][donate-now]][paypal-donations]
Local git statistics, including a GitHub-like contributions calendars.
2015-01-26 09:08:11 +01:00
2015-02-16 13:37:44 +01:00
I'd be curious to see your calendar with all your commits. Ping me on Twitter ([**@IonicaBizau**](https://twitter.com/IonicaBizau)). :smile: Until then, here's my calendar:
2015-02-09 14:39:24 +01:00
![git-stats](http://i.imgur.com/LfLJAaE.png)
2015-01-26 09:08:11 +01:00
2015-02-15 19:51:33 +01:00
## Contents
2015-02-15 19:52:44 +01:00
- [Installation](#installation)
- [Catching the `git commit` command](#catching-the-git-commit-command)
- [Using `git` hooks](#using-git-hooks)
- [Overriding the `git` command](#overriding-the-git-command)
- [Usage](#usage)
- [Importing and deleting commits](#importing-and-deleting-commits)
- [Importing all the commits from GitHub and BitBucket](#importing-all-the-commits-from-github-and-bitbucket)
- [See the GitHub Contributions calendar](#see-the-github-contributions-calendar)
- [Documentation](#documentation)
2015-02-15 19:52:44 +01:00
- [How to contribute](#how-to-contribute)
2015-02-15 19:51:33 +01:00
2015-02-09 14:39:24 +01:00
## Installation
2015-01-26 09:08:11 +01:00
You can install the package globally and use it as command line tool:
2015-02-11 19:07:10 +01:00
```sh
# Install the package globally
npm i -g git-stats
# Initialize git hooks
2015-02-11 19:08:49 +01:00
curl -s https://raw.githubusercontent.com/IonicaBizau/git-stats/master/scripts/init-git-post-commit | bash
2015-02-11 19:07:10 +01:00
```
Then, run `git-stats --help` and see what the cli tool can do.
2015-02-09 13:36:44 +01:00
2015-02-09 14:11:53 +01:00
```sh
$ 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
2015-02-09 17:13:52 +01:00
Your commit history is kept in the .git-stats, in your $HOME directory (~/)
2015-02-09 14:11:53 +01:00
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.
2015-02-09 14:11:53 +01:00
### Importing and deleting commits
2015-02-09 17:13:52 +01:00
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.
2015-02-09 14:11:53 +01:00
Check it out here: https://github.com/IonicaBizau/git-stats-importer
The usage is simple:
```sh
# 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
2015-02-09 17:13:52 +01:00
Yes, you read correctly! That's also possible. I [built a tool for that too](https://github.com/IonicaBizau/repository-downloader)!
2015-02-09 14:11:53 +01:00
```sh
# Download the repository downloader
$ git clone https://github.com/IonicaBizau/repository-downloader.git
2015-02-09 14:11:53 +01:00
# Go to repository downloader
$ cd repository-downloader
# Install the dependencies
$ npm install
# Start downloading and importing
$ ./start
```
2015-02-09 14:39:24 +01:00
### See the GitHub Contributions calendar
There is a solution for that, too! :smile: It's called [`ghcal`](https://github.com/IonicaBizau/ghcal).
```sh
# Install ghcal
$ npm install -g ghcal
# Checkout my contributions
$ ghcal ionicabizau
```
2015-02-15 19:20:49 +01:00
For more detailed documentation, check out the repository: https://github.com/IonicaBizau/ghcal.
2015-02-09 14:39:24 +01:00
## Example
2015-01-26 09:08:11 +01:00
Here is an example how to use this package as library.
2015-01-26 09:08:11 +01:00
```js
// Dependencies
var GitStats = require("git-stats");
2015-02-09 14:14:10 +01:00
// Create the GitStats instance
var g1 = new GitStats();
2015-01-26 09:08:11 +01:00
// Display the ansi calendar
g1.ansiCalendar({
theme: "DARK"
}, function (err, data) {
console.log(err || data);
});
2015-01-26 09:08:11 +01:00
```
2015-02-09 14:14:10 +01:00
## Documentation
2015-02-09 14:14:10 +01:00
For full API reference, see the [DOCUMENTATION.md][docs] file.
2015-02-09 14:14:10 +01:00
2015-01-26 09:08:11 +01:00
## How to contribute
Have an idea? Found a bug? See [how to contribute][contributing].
2015-01-26 09:08:11 +01:00
## License
[KINDLY][license] © [Ionică Bizău][website]The [LICENSE](/LICENSE) file contains
a copy of the license.
[license]: http://ionicabizau.github.io/kindly-license/?author=Ionic%C4%83%20Biz%C4%83u%20%3Cbizauionica@gmail.com%3E&year=2015
[contributing]: /CONTRIBUTING.md
[website]: http://ionicabizau.net
[docs]: /DOCUMENTATION.md
[paypal-donations]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MG98D7NPFZ3MG
[donate-now]: http://i.imgur.com/jioicaN.png