git-credential-store.1 (5087B)
- '\" 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-03-14
- .\" Manual: Git Manual
- .\" Source: Git 2.49.0
- .\" Language: English
- .\"
- .TH "GIT\-CREDENTIAL\-STORE" "1" "2025-03-14" "Git 2\&.49\&.0" "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