Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oleander/git-fame-rb
A command-line tool that helps you summarize and pretty-print collaborators based on contributions
https://github.com/oleander/git-fame-rb
code-statistics command-line-tool contributor-analysis git
Last synced: 1 day ago
JSON representation
A command-line tool that helps you summarize and pretty-print collaborators based on contributions
- Host: GitHub
- URL: https://github.com/oleander/git-fame-rb
- Owner: oleander
- License: mit
- Created: 2012-05-22T23:04:49.000Z (over 12 years ago)
- Default Branch: main
- Last Pushed: 2024-05-11T21:25:26.000Z (7 months ago)
- Last Synced: 2024-10-25T07:12:09.518Z (about 2 months ago)
- Topics: code-statistics, command-line-tool, contributor-analysis, git
- Language: Ruby
- Homepage:
- Size: 694 KB
- Stars: 954
- Watchers: 17
- Forks: 73
- Open Issues: 39
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ruby-cli-apps - git_fame - Displays contribution statistics for git repository collaborators. (Awesome Ruby CLIs / Workflow)
- awesome-list - git-fame - A command-line tool that helps you summarize and pretty-print collaborators based on contributions. (Linux / JavaScript)
- starred-awesome - git-fame-rb - A command-line tool that helps you summarize and pretty-print collaborators based on contributions (Ruby)
README
# git-fame [![git-fame](https://github.com/oleander/git-fame-rb/actions/workflows/main.yml/badge.svg)](https://github.com/oleander/git-fame-rb/actions/workflows/main.yml) [![Gem](https://img.shields.io/gem/v/git_fame)](https://rubygems.org/gems/git_fame) [![Test Coverage](https://api.codeclimate.com/v1/badges/2a0fd846e3a7482679ac/test_coverage)](https://codeclimate.com/github/oleander/git-fame-rb/test_coverage) [![Maintainability](https://api.codeclimate.com/v1/badges/2a0fd846e3a7482679ac/maintainability)](https://codeclimate.com/github/oleander/git-fame-rb/maintainability)
![git-fame](resources/example.png)
`git-fame` is a command-line tool that helps you summarize and pretty-print collaborators, based on the number of contributions.
The statistics are mostly based on the output of `git blame` on the current branch.
`git fame` counts the total number of current lines of code (and files) that were last touched by each author, and prints out these totals, along with the number of commits per author, as a sorted table.## Installation
`gem install git_fame`
## Usage
``` shell
Usage: git fame [OPTIONS] [PATH]GitFame is a tool to generate a contributor list from git history
Arguments:
PATH Path or sub path to the git repositoryOptions:
-A, --after [DATE] Only changes made after this date
-B, --before [DATE] Only changes made before this date
--branch [NAME] Branch to be used as starting point (default
"HEAD")
-E, --exclude [GLOB] Exclude files matching the given glob pattern
-e, --extensions [EXT] File extensions to be included starting with a
period
-h, --help Print usage
-I, --include [GLOB] Include files matching the given glob pattern
--log-level [LEVEL] Log level (permitted: debug,info,warn,error,fatal)Examples:
Include commits made since 2010
git fame --after 2010-01-01Include commits made before 2015
git fame --before 2015-01-01Include commits made since 2010 and before 2015
git fame --after 2010-01-01 --before 2015-01-01Only changes made to the main branch
git fame --branch mainOnly ruby and javascript files
git fame --extensions .rb .jsExclude spec files and the README
git fame --exclude */**/*_spec.rb README.mdOnly spec files and markdown files
git fame --include */**/*_spec.rb */**/*.mdA parent directory of the current directory
git fame ../other/git/repo
```## Development
1. `git clone https://github.com/oleander/git-fame-rb.git`
2. `docker build -t git-fame -f .devcontainer/Dockerfile .`
3. `docker run -it -v $(pwd):/workspace git-fame bundle exec rspec`Have a look at `.devcontainer/Dockerfile` and `.github/workflows/main.yml` for more information.
## New release
1. Update version in `lib/git_fame/version.rb`
2. `bundle exec rake release`
3. Done!