| '\" t |
| .\" Title: git-credential-store |
| .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] |
| .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> |
| .\" Date: 11/21/2018 |
| .\" Manual: Git Manual |
| .\" Source: Git 2.20.0.rc1 |
| .\" Language: English |
| .\" |
| .TH "GIT\-CREDENTIAL\-STO" "1" "11/21/2018" "Git 2\&.20\&.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-store \- Helper to store credentials on disk |
| .SH "SYNOPSIS" |
| .sp |
| .nf |
| git config credential\&.helper \(aqstore [<options>]\(aq |
| .fi |
| .sp |
| .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 |
| \fB<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 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 |
| .\} |
| .sp |
| .SH "STORAGE FORMAT" |
| .sp |
| The \fB\&.git\-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 |
| .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 |