| '\" t |
| .\" Title: git-credential-cache |
| .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] |
| .\" Generator: DocBook XSL Stylesheets v1.79.2 <http://docbook.sf.net/> |
| .\" Date: 2025-08-07 |
| .\" Manual: Git Manual |
| .\" Source: Git 2.51.0.rc1 |
| .\" Language: English |
| .\" |
| .TH "GIT\-CREDENTIAL\-CACHE" "1" "2025-08-07" "Git 2\&.51\&.0\&.rc1" "Git Manual" |
| .\" ----------------------------------------------------------------- |
| .\" * Define some portability stuff |
| .\" ----------------------------------------------------------------- |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .\" http://bugs.debian.org/507673 |
| .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .ie \n(.g .ds Aq \(aq |
| .el .ds Aq ' |
| .\" ----------------------------------------------------------------- |
| .\" * set default formatting |
| .\" ----------------------------------------------------------------- |
| .\" disable hyphenation |
| .nh |
| .\" disable justification (adjust text to left margin only) |
| .ad l |
| .\" ----------------------------------------------------------------- |
| .\" * MAIN CONTENT STARTS HERE * |
| .\" ----------------------------------------------------------------- |
| .SH "NAME" |
| git-credential-cache \- Helper to temporarily store passwords in memory |
| .SH "SYNOPSIS" |
| .sp |
| .nf |
| git config credential\&.helper \*(Aqcache [<options>]\*(Aq |
| .fi |
| .SH "DESCRIPTION" |
| .sp |
| 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\&. |
| .sp |
| You probably don\(cqt want to invoke this command directly; it is meant to be used as a credential helper by other parts of Git\&. See \fBgitcredentials\fR(7) or \fBEXAMPLES\fR below\&. |
| .SH "OPTIONS" |
| .PP |
| \-\-timeout <seconds> |
| .RS 4 |
| Number of seconds to cache credentials (default: 900)\&. |
| .RE |
| .PP |
| \-\-socket <path> |
| .RS 4 |
| Use |
| \fI<path>\fR |
| to contact a running cache daemon (or start a new cache daemon if one is not started)\&. Defaults to |
| \fB$XDG_CACHE_HOME/git/credential/socket\fR |
| unless |
| \fB~/\&.git\-credential\-cache/\fR |
| exists in which case |
| \fB~/\&.git\-credential\-cache/socket\fR |
| 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\&. |
| .RE |
| .SH "CONTROLLING THE DAEMON" |
| .sp |
| If you would like the daemon to exit early, forgetting all cached credentials before their timeout, you can issue an \fBexit\fR action: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| git credential\-cache exit |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .SH "EXAMPLES" |
| .sp |
| The point of this helper is to reduce the number of times you must type your username or password\&. For example: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| $ 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] |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .sp |
| You can provide options via the credential\&.helper configuration variable (this example increases the cache time to 1 hour): |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| $ git config credential\&.helper \*(Aqcache \-\-timeout=3600\*(Aq |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .SH "PERSONAL ACCESS TOKENS" |
| .sp |
| Some remotes accept personal access tokens, which are randomly generated and hard to memorise\&. They typically have a lifetime of weeks or months\&. |
| .sp |
| 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\&. |
| .sp |
| 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 \fBgitcredentials\fR(7), sections "Available helpers" and "OAuth"\&. |
| .SH "GIT" |
| .sp |
| Part of the \fBgit\fR(1) suite |