---
name: "gitstats"
section: "1"
platform: "linux"
package: "gitstats"
version: "2015.10.03-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/gitstats"
---

# gitstats(1)

git history statistics generator

## NAME

gitstats - git history statistics generator

## SYNOPSIS

**gitstats** \[options\] \<repository dir\> \<output dir\>

## DESCRIPTION

**gitstats** is a statistics generator for [*git*(1)](/git/1.md) repositories. It examines the repository and produces some interesting statistics from the history of it. Currently HTML is the only output format.

## OPTIONS

\-c option=value

Override a default configuration value. Defaults can be seen by running **gitstats** without parameters.

### Values:

- authors\_top

  How many top authors to show.

- commit\_begin, commit\_end

  Specify a commit range to generate statistics from. You can specify only commit\_end limit statistics to a certain commit or another branch.

- linear\_linestats

  When enabled, the lines of code statistics are collected from linear history. The downside is that commits of long feature branches appear only at the point where a merge commit is made.

  If disabled (old behaviour), the problem is that if two branches contain the same changes (for example, removal of same lines), the statistics get skewed.

  Defaults to on.

- max\_authors

  How many authors to show in the list of authors.

- max\_domains

  How many domains to show in domains by commits.

- max\_ext\_length

  Maximum file extension length.

- processes

  Number of concurrent processes to use when extracting git repository data.

- project\_name

  Project name to show on the generated pages. Default is to use basename of the repository directory.

- start\_date

  Specify a starting date to pass with --since to git.

- style

  CSS stylesheet to use.

## FAQ

Q: How do I generate statistics of a non-master branch?

A: Use `"-c commit_end=web"` parameter.

Q: I have files in my git repository that I would like to exclude from the statistics, how do I do that?

A: At the moment the only way is to use [*git-filter-branch*(1)](/git-filter-branch/1.md) to create a temporary repository and generate the statistics from that.

Q: How do I merge author information when the same author has made commits using different names or emails ?

A: Use git .mailmap feature described in **MAPPING AUTHORS** of [*git-shortlog*(1)](/git-shortlog/1.md).

## EXAMPLES

- Generates statistics from a git repository in "foo" and outputs the result in a directory "foo\_stats":

  ```
    gitstats foo foo_stats
  ```

- As above, but only analyzes the last 10 commits:

  ```
    gitstats -c commit_begin='HEAD~10' foo foo_stats
  ```

## AUTHORS

**gitstats** was written by Heikki Hokkanen and others.

See the git repository at https://github.com/hoxu/gitstats for an up-to-date full list of contributors.

## WWW

http://gitstats.sourceforge.net/

## SEE ALSO

[*git*(1)](/git/1.md)
