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

NAME
----
git-var - Print the git users identity


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.

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

