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 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 gitcredentials(7), sections "Available helpers" and "OAuth".

GIT

Part of the git(1) suite