Autogenerated manpages for v2.42.0-rc1
[git-manpages.git] / man1 / git-credential-store.1
blobb32668fbb796e1243d794cc5b074e3e3da3cb61b
1 '\" t
2 .\"     Title: git-credential-store
3 .\"    Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author]
4 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
5 .\"      Date: 2023-08-09
6 .\"    Manual: Git Manual
7 .\"    Source: Git 2.42.0.rc1
8 .\"  Language: English
9 .\"
10 .TH "GIT\-CREDENTIAL\-STORE" "1" "2023\-08\-09" "Git 2\&.42\&.0\&.rc1" "Git Manual"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 git-credential-store \- Helper to store credentials on disk
32 .SH "SYNOPSIS"
33 .sp
34 .nf
35 git config credential\&.helper \*(Aqstore [<options>]\*(Aq
36 .fi
37 .sp
38 .SH "DESCRIPTION"
39 .if n \{\
40 .sp
41 .\}
42 .RS 4
43 .it 1 an-trap
44 .nr an-no-space-flag 1
45 .nr an-break-flag 1
46 .br
47 .ps +1
48 \fBNote\fR
49 .ps -1
50 .br
51 .sp
52 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\&.
53 .sp .5v
54 .RE
55 .sp
56 This command stores credentials indefinitely on disk for use by future Git programs\&.
57 .sp
58 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\&.
59 .SH "OPTIONS"
60 .PP
61 \-\-file=<path>
62 .RS 4
63 Use
64 \fB<path>\fR
65 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
66 \fB~/\&.git\-credentials\fR
67 and
68 \fB$XDG_CONFIG_HOME/git/credentials\fR, and credentials will be written to
69 \fB~/\&.git\-credentials\fR
70 if it exists, or
71 \fB$XDG_CONFIG_HOME/git/credentials\fR
72 if it exists and the former does not\&. See also
73 the section called \(lqFILES\(rq\&.
74 .RE
75 .SH "FILES"
76 .sp
77 If not set explicitly with \fB\-\-file\fR, there are two files where git\-credential\-store will search for credentials in order of precedence:
78 .PP
79 ~/\&.git\-credentials
80 .RS 4
81 User\-specific credentials file\&.
82 .RE
83 .PP
84 $XDG_CONFIG_HOME/git/credentials
85 .RS 4
86 Second user\-specific credentials file\&. If
87 \fI$XDG_CONFIG_HOME\fR
88 is not set or empty,
89 \fB$HOME/\&.config/git/credentials\fR
90 will be used\&. Any credentials stored in this file will not be used if
91 \fB~/\&.git\-credentials\fR
92 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\&.
93 .RE
94 .sp
95 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\&.
96 .sp
97 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\&.
98 .sp
99 When erasing credentials, matching credentials will be erased from all files\&.
100 .SH "EXAMPLES"
102 The point of this helper is to reduce the number of times you must type your username or password\&. For example:
104 .if n \{\
105 .RS 4
108 $ git config credential\&.helper store
109 $ git push http://example\&.com/repo\&.git
110 Username: <type your username>
111 Password: <type your password>
113 [several days later]
114 $ git push http://example\&.com/repo\&.git
115 [your credentials are used automatically]
117 .if n \{\
121 .SH "STORAGE FORMAT"
123 The \fB\&.git\-credentials\fR file is stored in plaintext\&. Each credential is stored on its own line as a URL like:
125 .if n \{\
126 .RS 4
129 https://user:pass@example\&.com
131 .if n \{\
136 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\&.
138 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\&.
139 .SH "GIT"
141 Part of the \fBgit\fR(1) suite