git-repo - Man Page

Retrieve information about the repository

Synopsis

git repo info [--format=(lines|nul) | -z] [--all | <key>​...]
git repo info --keys [--format=(lines|nul) | -z]
git repo structure [--format=(table|lines|nul) | -z]

Description

Retrieve information about the repository​.

THIS COMMAND IS EXPERIMENTAL​. THE BEHAVIOR MAY CHANGE​.

Commands

info [--format=(lines|nul) | -z] [--all | <key>​.​.​.]

Retrieve metadata-related information about the current repository​. Only the requested data will be returned based on their keys (see "Info Keys" section below)​.

The values are returned in the same order in which their respective keys were requested​. The --all flag requests the values for all the available keys​.

The output format can be chosen through the flag --format​. Two formats are supported:

lines

Output key-value pairs one per line using the = character as the delimiter between the key and the value​. Values containing "unusual" characters are quoted as explained for the configuration variable core​.quotePath (see git-config(1))​. This is the default​.

nul

Similar to lines, but using a newline character as the delimiter between the key and the value and using a NUL character after each value​. This format is better suited for being parsed by another applications than lines​. Unlike in the lines format, the values are never quoted​.

-z is an alias for --format=nul​.

info --keys [--format=(lines|nul) | -z]

List all the available keys, one per line​. The output format can be chosen through the flag --format​. The following formats are supported:

lines

Output the keys one per line​. This is the default​.

nul

Similar to lines, but using a NUL character after each value​.

structure [--format=(table|lines|nul) | -z]

Retrieve statistics about the current repository structure​. The following kinds of information are reported:

  • Reference counts categorized by type
  • Reachable object counts categorized by type
  • Total inflated size of reachable objects by type
  • Total disk size of reachable objects by type
  • Largest reachable objects in the repository by type

    The output format can be chosen through the flag --format​. Three formats are supported:

table

Outputs repository stats in a human-friendly table​. This format may change and is not intended for machine parsing​. This is the default format​.

lines

Each line of output contains a key-value pair for a repository stat​. The = character is used to delimit between the key and the value​. Values containing "unusual" characters are quoted as explained for the configuration variable core​.quotePath (see git-config(1))​.

nul

Similar to lines, but uses a NUL character to delimit between key-value pairs instead of a newline​. Also uses a newline character as the delimiter between the key and value instead of =​. Unlike the lines format, values containing "unusual" characters are never quoted​.

-z is an alias for --format=nul​.

Info Keys

In order to obtain a set of values from git repo info, you should provide the keys that identify them​. Here’s a list of the available keys and the values that they return:

layout​.bare

true if this is a bare repository, otherwise false​.

layout​.shallow

true if this is a shallow repository, otherwise false​.

object​.format

The object format (hash algorithm) used in the repository​.

path​.commondir​.absolute

The canonical absolute path to the Git repository’s common directory (the shared ​.git directory containing objects, refs, and global configuration)​.

path​.commondir​.relative

The path to the Git repository’s common directory relative to the current working directory​.

path​.gitdir​.absolute

The canonical absolute path to the Git repository directory (the ​.git directory)​.

path​.gitdir​.relative

The path to the Git repository directory relative to the current working directory​.

references​.format

The reference storage format​. The valid values are:

files

for loose files with packed-refs​. This is the default​.

reftable

for the reftable format​.

Examples

See Also

git-rev-parse(1)

Git

Part of the git(1) suite

Info

09/28/2026 Git 2.56.0 Git Manual