git-credential-cache(1)

# git-credential-cache(1) Manual Page

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