git-fame - Man Page
Pretty-print git repository collaborators sorted by contributions.
Examples (TL;DR)
- Calculate contributions for the current Git repository: 
git fame - Exclude files/directories that match the specified 
regex:git fame --excl "regex" - Calculate contributions made after the specified date: 
git fame --since "3 weeks ago|2021-05-13" - Display contributions in the specified format: 
git fame --format pipe|yaml|json|csv|tsv - Display contributions per file extension: 
git fame [-t|--bytype] - Ignore whitespace changes: 
git fame [-w|--ignore-whitespace] - Detect inter-file line moves and copies: 
git fame -C - Detect intra-file line moves and copies: 
git fame -M 
Synopsis
git-fame [--help | options] [<gitdir>...]
Description
See <https://github.com/casperdcl/git-fame>.
Probably not necessary on UNIX systems:
git config --global alias.fame "!python -m gitfame"
For example, to print statistics regarding all source files in a C++/CUDA repository (*.c/h/t(pp), *.cu(h)), carefully handling whitespace and line copies:
git fame --incl '\.[cht][puh]{0,2}$' -twMCOptions
- <gitdir>
 Git directory [default: ./]. May be specified multiple times to aggregate across multiple repositories.
- -h, --help
 Print this help and exit.
- -v, --version
 Print module version and exit.
- --branch=b
 Branch or tag [default: HEAD] up to which to check.
- --sort=key
 [default: loc]|commits|files|hours|months.
- --loc=type
 surv(iving)|ins(ertions)|del(etions) What
locrepresents. Use `ins,del' to count both. defaults to `surviving' unless--costis specified.- --excl=f
 Excluded files (default: None). In no-regex mode, may be a comma-separated list. Escape (\,) for a literal comma (may require \\, in shell).
- --incl=f
 Included files [default: .*]. See
--exclfor format.- --since=date
 Date from which to check. Can be absoulte (eg: 1970-01-31) or relative to now (eg: 3.weeks).
- --cost=method
 Include time cost in person-months (COCOMO) or person-hours (based on commit times). Methods: month(s)|cocomo|hour(s)|commit(s). May be multiple comma-separated values. Alters
--locdefault to imply `ins' (COCOMO) or `ins,del' (hours).- -R, --recurse
 Recursively find repositories & submodules within .
- -n, --no-regex
 Assume are comma-separated exact matches rather than regular expressions [default: False]. NB: if regex is enabled `,' is equivalent to `|'.
- -s, --silent-progress
 Suppress
tqdm[default: False].- --warn-binary
 Don’t silently skip files which appear to be binary data [default: False].
- -e, --show-email
 Show author email instead of name [default: False].
- --enum
 Show row numbers [default: False].
- -t, --bytype
 Show stats per file extension [default: False].
- -w, --ignore-whitespace
 Ignore whitespace when comparing the parent’s version and the child’s to find where the lines came from [default: False]. -M Detect intra-file line moves and copies [default: False]. -C Detect inter-file line moves and copies [default: False].
- --ignore-rev=rev
 Ignore changes made by the given revision (requires
--loc=surviving).- --ignore-revs-file=f
 Ignore revisions listed in the given file (requires
--loc=surviving).- --format=format
 Table format [default: pipe]|md|markdown|yaml|yml|json|csv|tsv|tabulate. May require
git-fame[<format>], e.g.pip install git-fame[yaml]. Anytabulate.tabulate_formatsis also accepted.- --manpath=path
 Directory in which to install git-fame man pages.
- --log=lvl
 FATAL|CRITICAL|ERROR|WARN(ING)|[default: INFO]|DEBUG|NOTSET.
Authors
Casper da Costa-Luis <https://github.com/casperdcl>.