Home Explore Blog CI



git

Documentation/git-credential-cache.adoc
07b6aaf9f0f4af57d6b905495be8f93e2d9408a7db1e5b8f0000000300000c7e
git-credential-cache(1)
=======================

NAME
----
git-credential-cache - Helper to temporarily store passwords in memory

SYNOPSIS
--------
-----------------------------
git config credential.helper 'cache [<options>]'
-----------------------------

DESCRIPTION
-----------

This command caches credentials for use by future Git programs.
The stored credentials are kept in memory of the cache-daemon
process (instead of being written to a file) and are forgotten after a
configurable timeout. Credentials are forgotten sooner if the
cache-daemon dies, for example if the system restarts. The cache
is accessible over a Unix domain socket, restricted to the current
user by filesystem permissions.

You probably don't want to invoke this command directly; it is meant to
be used as a credential helper by other parts of Git. See
linkgit:gitcredentials[7] or `EXAMPLES` below.

OPTIONS
-------

--timeout <seconds>::

	Number of seconds to cache credentials (default: 900).

--socket <path>::

	Use `<path>` to contact a running cache daemon (or start a new
	cache daemon if one is not started).
	Defaults to `$XDG_CACHE_HOME/git/credential/socket` unless
	`~/.git-credential-cache/` exists in which case
	`~/.git-credential-cache/socket` is used instead.
	If your home directory is on a network-mounted filesystem, you
	may need to change this to a local filesystem. You must specify
	an absolute path.

CONTROLLING THE DAEMON
----------------------

If you would like the daemon to exit early, forgetting all cached
credentials before their timeout, you can issue an `exit` action:

--------------------------------------
git credential-cache exit
--------------------------------------

EXAMPLES
--------

The point of this helper is to reduce the number of times you must type
your username or password. For example:

------------------------------------
$ git config credential.helper cache
$ git push http://example.com/repo.git
Username: <type your username>
Password: <type your password>

[work for 5 more minutes]
$ git push http://example.com/repo.git
[your credentials are used automatically]
------------------------------------

You can provide options via the credential.helper configuration
variable (this example increases the cache time to 1 hour):

-------------------------------------------------------
$ git config credential.helper 'cache --timeout=3600'
-------------------------------------------------------

PERSONAL ACCESS TOKENS
----------------------

Some remotes accept personal access tokens, which are randomly
generated and hard to memorise. They typically have a lifetime of weeks
or months.

git-credential-cache is inherently unsuitable for persistent storage of
personal access tokens. The credential will be forgotten after the cache
timeout. Even if you configure a long timeout, credentials will be
forgotten if the daemon dies.

To avoid frequently regenerating personal access tokens, configure a
credential helper with persistent storage. Alternatively, configure an
OAuth credential helper to generate credentials automatically. See
linkgit:gitcredentials[7], sections "Available helpers" and "OAuth".

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

Chunks
fad7ff56 (1st chunk of `Documentation/git-credential-cache.adoc`)
Title: Git Credential Cache
Summary
A helper command that temporarily stores passwords in memory for use by future Git programs, with options for configuring cache timeout and socket path, suitable for reducing frequent username and password prompts.