git-var(1)
==========

NAME
----
git-var - Show a git logical variable


SYNOPSIS
--------
'git var' [ -l | <variable> ]

DESCRIPTION
-----------
Prints a git logical variable.

OPTIONS
-------
-l::
	Cause the logical variables to be listed. 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 -l'.)

EXAMPLE
--------
	$ git var GIT_AUTHOR_IDENT
	Eric W. Biederman <ebiederm@lnxi.com> 1121223278 -0600


VARIABLES
----------
GIT_AUTHOR_IDENT::
    The author of a piece of code.

GIT_COMMITTER_IDENT::
    The person who put a piece of code into git.

Diagnostics
-----------
You don't exist. Go away!::
    The passwd(5) gecos field couldn't be read
Your parents must have hated you!::
    The passwd(5) gecos field is longer than a giant static buffer.
Your sysadmin must hate you!::
    The passwd(5) name field is longer than a giant static buffer.

SEE ALSO
--------
linkgit:git-commit-tree[1]
linkgit:git-tag[1]
linkgit:git-config[1]

Author
------
Written by Eric Biederman <ebiederm@xmission.com>

Documentation
--------------
Documentation by Eric Biederman and the git-list <git@vger.kernel.org>.

GIT
---
Part of the linkgit:git[1] suite
