'\" t
.\"     Title: git-credential-store
.\"    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-09-23
.\"    Manual: Git Manual
.\"    Source: Git 2.51.0.315.gbb69721404
.\"  Language: English
.\"
.TH "GIT\-CREDENTIAL\-STORE" "1" "2025-09-23" "Git 2\&.51\&.0\&.315\&.gbb6972" "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-store \- Helper to store credentials on disk
.SH "SYNOPSIS"
.sp
.nf
git config credential\&.helper \*(Aqstore [<options>]\*(Aq
.fi
.SH "DESCRIPTION"
.if n \{\
.sp
.\}
.RS 4
.it 1 an-trap
.nr an-no-space-flag 1
.nr an-break-flag 1
.br
.ps +1
\fBNote\fR
.ps -1
.br
.sp
Using this helper will store your passwords unencrypted on disk, protected only by filesystem permissions\&. If this is not an acceptable security tradeoff, try \fBgit-credential-cache\fR(1), or find a helper that integrates with secure storage provided by your operating system\&.
.sp .5v
.RE
.sp
This command stores credentials indefinitely on disk for use by future Git programs\&.
.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
\-\-file=<path>
.RS 4
Use
\fI<path>\fR
to lookup and store credentials\&. The file will have its filesystem permissions set to prevent other users on the system from reading it, but it will not be encrypted or otherwise protected\&. If not specified, credentials will be searched for from
\fB~/\&.git\-credentials\fR
and
\fB$XDG_CONFIG_HOME/git/credentials\fR, and credentials will be written to
\fB~/\&.git\-credentials\fR
if it exists, or
\fB$XDG_CONFIG_HOME/git/credentials\fR
if it exists and the former does not\&. See also
the section called \(lqFILES\(rq\&.
.RE
.SH "FILES"
.sp
If not set explicitly with \fB\-\-file\fR, there are two files where git\-credential\-store will search for credentials in order of precedence:
.PP
~/\&.git\-credentials
.RS 4
User\-specific credentials file\&.
.RE
.PP
$XDG_CONFIG_HOME/git/credentials
.RS 4
Second user\-specific credentials file\&. If
\fI$XDG_CONFIG_HOME\fR
is not set or empty,
\fB$HOME/\&.config/git/credentials\fR
will be used\&. Any credentials stored in this file will not be used if
\fB~/\&.git\-credentials\fR
has a matching credential as well\&. It is a good idea not to create this file if you sometimes use older versions of Git that do not support it\&.
.RE
.sp
For credential lookups, the files are read in the order given above, with the first matching credential found taking precedence over credentials found in files further down the list\&.
.sp
Credential storage will by default write to the first existing file in the list\&. If none of these files exist, \fB~/\&.git\-credentials\fR will be created and written to\&.
.sp
When erasing credentials, matching credentials will be erased from all files\&.
.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 store
$ git push http://example\&.com/repo\&.git
Username: <type your username>
Password: <type your password>

[several days later]
$ git push http://example\&.com/repo\&.git
[your credentials are used automatically]
.fi
.if n \{\
.RE
.\}
.SH "STORAGE FORMAT"
.sp
The \&.\fBgit\-credentials\fR file is stored in plaintext\&. Each credential is stored on its own line as a URL like:
.sp
.if n \{\
.RS 4
.\}
.nf
https://user:pass@example\&.com
.fi
.if n \{\
.RE
.\}
.sp
No other kinds of lines (e\&.g\&. empty lines or comment lines) are allowed in the file, even though some may be silently ignored\&. Do not view or edit the file with editors\&.
.sp
When Git needs authentication for a particular URL context, credential\-store will consider that context a pattern to match against each entry in the credentials file\&. If the protocol, hostname, and username (if we already have one) match, then the password is returned to Git\&. See the discussion of configuration in \fBgitcredentials\fR(7) for more information\&.
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite
