LinuxCommandLibrary

git-summary

Summarize git repository information

TLDR

Display data about a Git repository

$ git summary
copy

Display data about a Git repository since a commit-ish
$ git summary [commit|branch_name|tag_name]
copy

Display data about a Git repository, merging committers using different emails into 1 statistic for each author
$ git summary --dedup-by-email
copy

Display data about a Git repository, showing the number of lines modified by each contributor
$ git summary --line
copy

SYNOPSIS

git summary []

PARAMETERS

-h, --help
    Displays the help message and exits.

-a, --all
    Includes information for all local and remote branches.

-c, --color
    Forces color output, even if not detected automatically.

-p, --porcelain
    Outputs the summary in a machine-readable format for scripting.

-s, --sort
    Sorts branches alphabetically by name instead of by activity.

-v, --verbose
    Shows more detailed information, such as full commit messages.

-q, --quiet
    Suppresses warnings and other non-critical output.

--no-fetch
    Prevents fetching from remotes before displaying the summary.

--exclude
    Excludes branches whose names match the specified pattern.

--format
    Specifies a custom output format using placeholders.

--include-gitmodules
    Includes a summary of the .gitmodules file.

--status
    Explicitly shows the status for the current branch (default behavior).

--no-submodules
    Omits information about submodules from the summary.

--no-stash
    Excludes information about stashed changes.

--no-divergence
    Disables showing divergence information between local and tracking branches.

--exclude-remotes
    Excludes all remote-tracking branches from the output.

--only-remotes
    Only displays information for remote-tracking branches.

--include-untracked
    Includes untracked files in the local changes status.

DESCRIPTION

The git-summary command provides a concise overview of a Git repository's current state. It displays essential information including the active branch, its tracking status, divergence from the remote, and details about the latest commit. Additionally, it highlights local changes by showing staged, unstaged, and untracked files. The summary also includes information about the repository's remotes, the latest tag, and the status of any submodules. This tool is particularly useful for developers who need a quick snapshot of their project's health and pending changes without having to run multiple Git commands like `git status`, `git branch`, and `git remote -v`. It helps in quickly assessing the repository's readiness for commits, pushes, or pulls.

CAVEATS

The git-summary command is not a core Git command. It is typically provided by external Git extension packages, such as git-extras. Therefore, its availability depends on whether such a package is installed on your system. The exact features and options might vary slightly between different versions or implementations of git-extras.

<B>USAGE PHILOSOPHY</B>

git-summary is designed to be a quick glance tool. It prioritizes speed and conciseness, providing most of the necessary information to understand the current state of a repository without requiring the user to piece together data from multiple core Git commands. It's often used as a daily check for developers to ensure their working directory is clean or to understand the state of their branches before performing major operations.

HISTORY

git-summary emerged as part of the broader git-extras project, a collection of community-contributed Git utilities designed to augment Git's built-in functionality. The git-extras project began around 2011 and has since grown to include hundreds of convenient commands, with git-summary being one of the most popular for quickly assessing repository state. It addresses a common need for a single command to provide a comprehensive project overview, streamlining workflows for many developers.

SEE ALSO

Copied to clipboard