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-repo-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-repo-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

