]>
Commit | Line | Data |
---|---|---|
71e1b4b6 JK |
1 | git-credential-store(1) |
2 | ======================= | |
3 | ||
4 | NAME | |
5 | ---- | |
c6632eba | 6 | git-credential-store - Helper to store credentials on disk |
71e1b4b6 JK |
7 | |
8 | SYNOPSIS | |
9 | -------- | |
10 | ------------------- | |
de613050 | 11 | git config credential.helper 'store [<options>]' |
71e1b4b6 JK |
12 | ------------------- |
13 | ||
14 | DESCRIPTION | |
15 | ----------- | |
16 | ||
17 | NOTE: Using this helper will store your passwords unencrypted on disk, | |
18 | protected only by filesystem permissions. If this is not an acceptable | |
19 | security tradeoff, try linkgit:git-credential-cache[1], or find a helper | |
20 | that integrates with secure storage provided by your operating system. | |
21 | ||
22 | This command stores credentials indefinitely on disk for use by future | |
2de9b711 | 23 | Git programs. |
71e1b4b6 JK |
24 | |
25 | You probably don't want to invoke this command directly; it is meant to | |
26 | be used as a credential helper by other parts of git. See | |
27 | linkgit:gitcredentials[7] or `EXAMPLES` below. | |
28 | ||
29 | OPTIONS | |
30 | ------- | |
31 | ||
e50cd67b | 32 | --file=<path>:: |
71e1b4b6 | 33 | |
44b22898 | 34 | Use `<path>` to lookup and store credentials. The file will have its |
71e1b4b6 JK |
35 | filesystem permissions set to prevent other users on the system |
36 | from reading it, but will not be encrypted or otherwise | |
44b22898 PT |
37 | protected. If not specified, credentials will be searched for from |
38 | `~/.git-credentials` and `$XDG_CONFIG_HOME/git/credentials`, and | |
39 | credentials will be written to `~/.git-credentials` if it exists, or | |
40 | `$XDG_CONFIG_HOME/git/credentials` if it exists and the former does | |
41 | not. See also <<FILES>>. | |
42 | ||
43 | [[FILES]] | |
44 | FILES | |
45 | ----- | |
46 | ||
bcf9626a | 47 | If not set explicitly with `--file`, there are two files where |
44b22898 PT |
48 | git-credential-store will search for credentials in order of precedence: |
49 | ||
50 | ~/.git-credentials:: | |
51 | User-specific credentials file. | |
52 | ||
53 | $XDG_CONFIG_HOME/git/credentials:: | |
54 | Second user-specific credentials file. If '$XDG_CONFIG_HOME' is not set | |
55 | or empty, `$HOME/.config/git/credentials` will be used. Any credentials | |
56 | stored in this file will not be used if `~/.git-credentials` has a | |
57 | matching credential as well. It is a good idea not to create this file | |
58 | if you sometimes use older versions of Git that do not support it. | |
59 | ||
60 | For credential lookups, the files are read in the order given above, with the | |
61 | first matching credential found taking precedence over credentials found in | |
62 | files further down the list. | |
63 | ||
64 | Credential storage will by default write to the first existing file in the | |
65 | list. If none of these files exist, `~/.git-credentials` will be created and | |
66 | written to. | |
67 | ||
68 | When erasing credentials, matching credentials will be erased from all files. | |
71e1b4b6 JK |
69 | |
70 | EXAMPLES | |
71 | -------- | |
72 | ||
73 | The point of this helper is to reduce the number of times you must type | |
74 | your username or password. For example: | |
75 | ||
76 | ------------------------------------------ | |
77 | $ git config credential.helper store | |
78 | $ git push http://example.com/repo.git | |
79 | Username: <type your username> | |
80 | Password: <type your password> | |
81 | ||
82 | [several days later] | |
83 | $ git push http://example.com/repo.git | |
84 | [your credentials are used automatically] | |
85 | ------------------------------------------ | |
86 | ||
87 | STORAGE FORMAT | |
88 | -------------- | |
89 | ||
90 | The `.git-credentials` file is stored in plaintext. Each credential is | |
91 | stored on its own line as a URL like: | |
92 | ||
93 | ------------------------------ | |
94 | https://user:pass@example.com | |
95 | ------------------------------ | |
96 | ||
2de9b711 | 97 | When Git needs authentication for a particular URL context, |
71e1b4b6 JK |
98 | credential-store will consider that context a pattern to match against |
99 | each entry in the credentials file. If the protocol, hostname, and | |
100 | username (if we already have one) match, then the password is returned | |
2de9b711 | 101 | to Git. See the discussion of configuration in linkgit:gitcredentials[7] |
71e1b4b6 JK |
102 | for more information. |
103 | ||
104 | GIT | |
105 | --- | |
106 | Part of the linkgit:git[1] suite |