SYNOPSIS

git var [-z] -l
git var [-z] <variable>…​

DESCRIPTION

Prints Git logical variables. When a single variable is requested, its bare value is printed, and the command exits with code 1 if it has no value. When multiple variables are requested, they are printed as VARIABLE=value pairs, separated by newlines; a variable that has no value is omitted from the output, which is not by itself an error.

If -z is given, the output format changes depending on the mode:

  • With a single variable, the bare value is terminated by a NUL byte.

  • With multiple variables or with -l, the variable name and value are separated by a newline, and each entry is terminated by a NUL byte (VARIABLE\nvalue\0), in the same way as git config list -z.

OPTIONS

-l

Display the logical variables. In addition, all the variables of the Git configuration file .git/config are listed as well. (However, the configuration variables listing functionality is deprecated in favor of git config list.)

-z

Terminate entries with NUL instead of newline. When used with -l or when multiple variables are requested, the variable name and its value are separated by a newline, and each entry is terminated with a NUL byte.

EXAMPLES

  • Get the author identity:

    $ git var GIT_AUTHOR_IDENT
    Eric W. Biederman <ebiederm@lnxi.com> 1121223278 -0600
  • Get the author name and email:

    $ git var GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL
    GIT_AUTHOR_NAME=Eric W. Biederman
    GIT_AUTHOR_EMAIL=ebiederm@lnxi.com

VARIABLES

GIT_AUTHOR_IDENT
GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL
GIT_AUTHOR_DATE

The authorship information that would be recorded in the resulting commit object if you ran git commit right now. GIT_AUTHOR_IDENT consists of the author’s name, e-mail address, and timestamp+timezone. These three pieces of information are available separately as GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, and GIT_AUTHOR_DATE.

GIT_COMMITTER_IDENT
GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL
GIT_COMMITTER_DATE

The committer information that would be recorded in the resulting commit object if you ran git commit right now. GIT_COMMITTER_IDENT consists of the committer’s name, e-mail address, and timestamp+timezone. These three pieces of information are available separately as GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL, and GIT_COMMITTER_DATE.

GIT_EDITOR

Text editor for use by Git commands. The value is meant to be interpreted by the shell when it is used. Examples: ~/bin/vi, $SOME_ENVIRONMENT_VARIABLE, "C:\Program Files\Vim\gvim.exe" --nofork. The order of preference is $GIT_EDITOR, then core.editor configuration value, then $VISUAL, then $EDITOR, and then the default chosen at compile time, which is usually vi.

GIT_SEQUENCE_EDITOR

Text editor used to edit the todo file while running git rebase -i. Like GIT_EDITOR, the value is meant to be interpreted by the shell when it is used. The order of preference is $GIT_SEQUENCE_EDITOR, then sequence.editor configuration value, and then the value of git var GIT_EDITOR.

GIT_PAGER

Text viewer for use by Git commands (e.g., less). The value is meant to be interpreted by the shell. The order of preference is $GIT_PAGER, then the value of core.pager configuration, then $PAGER, and then the default chosen at compile time (usually less).

GIT_DEFAULT_BRANCH

The name of the first branch created in newly initialized repositories.

GIT_SHELL_PATH

The path of the binary providing the POSIX shell for commands which use the shell.

GIT_ATTR_SYSTEM

The path to the system gitattributes(5) file, if one is enabled.

GIT_ATTR_GLOBAL

The path to the global (per-user) gitattributes(5) file.

GIT_CONFIG_SYSTEM

The path to the system configuration file, if one is enabled.

GIT_CONFIG_GLOBAL

The path to the global (per-user) configuration files, if any. This variable can have multiple values.

Most path values contain only one value. However, some can contain multiple values, which are separated by newlines (or NUL bytes if -z is given), and are listed in order from highest to lowest priority. When querying multiple variables (or using -l), each value is output as a separate VARIABLE=value entry (or VARIABLE\nvalue\0 with -z). Callers should be prepared for any such path value to contain multiple items.

Note that paths are printed even if they do not exist, but not if they are disabled by other environment variables.

SEE ALSO

GIT

Part of the git(1) suite