blob: 8e011ea96d8abd3d02b0269112279d21c5b7ef4e [file] [log] [blame]
'\" 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