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 password(5) gecos field is longer than a giant static buffer.
Your sysadmin must hate you!::
    The password(5) name field is longer than a giant static buffer.

See Also
--------
gitlink:git-commit-tree[1]
gitlink:git-tag[1]
gitlink: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 gitlink:git[7] suite

