git-repo(1) Git Manual git-repo(1)
NAME
git-repo - Retrieve information about the repository
SYNOPSIS
git repo info [--format=(keyvalue|nul)] [-z] [<key>...]
git repo structure [--format=(table|keyvalue|nul)]
DESCRIPTION
Retrieve information about the repository.
THIS COMMAND IS EXPERIMENTAL. THE BEHAVIOR MAY CHANGE.
COMMANDS
info [--format=(keyvalue|nul)] [-z] [<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 output format can be chosen through the flag --format. Two
formats are supported:
keyvalue
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 keyvalue, 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 keyvalue. Unlike in
the keyvalue format, the values are never quoted.
-z is an alias for --format=nul.
structure [--format=(table|keyvalue|nul)]
Retrieve statistics about the current repository structure. The
following kinds of information are reported:
o Reference counts categorized by type
o Reachable object counts categorized 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.
keyvalue
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 keyvalue, 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 keyvalue format, values containing
"unusual" characters are never quoted.
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.
references.format
The reference storage format. The valid values are:
o files for loose files with packed-refs. This is the default.
o reftable for the reftable format. This format is experimental
and its internals are subject to change.
EXAMPLES
o Retrieves the reference format of the current repository:
git repo info references.format
o Retrieves whether the current repository is bare and whether it is
shallow using the nul format:
git repo info --format=nul layout.bare layout.shallow
SEE ALSO
git-rev-parse(1)
GIT
Part of the git(1) suite
Git 2.52.0 2025-11-17 git-repo(1)
git 2.52.0 - Generated Wed Nov 19 18:40:35 CST 2025
