docs: list popular credential helpers
git-credential-store saves credentials unencrypted on disk. It is the least secure choice of credential helper. Nevertheless, it appears several times more popular than any other credential helper [1]. Inform users about more secure alternatives. [1] https://stackoverflow.com/questions/35942754/how-can-i-save-username-and-password-in-git Signed-off-by: M Hickford <mirth.hickford@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
M Hickford committed
Jan 10, 2025 at 22:54 UTC
cf5b8276dcfdad44f02c082a934be5589ff14586
1 file changed
+29
-12
Documentation/gitcredentials.txt
+29
-12
@@ -66,18 +66,7 @@ storage provided by the OS or other programs. Alternatively, a
66
credential-generating helper might generate credentials for certain servers via
67
some API.
68
69
-To use a helper, you must first select one to use. Git currently
70
-includes the following helpers:
71
-
72
-cache::
73
-
74
- Cache credentials in memory for a short period of time. See
75
- linkgit:git-credential-cache[1] for details.
76
-
77
-store::
78
-
79
- Store credentials indefinitely on disk. See
80
- linkgit:git-credential-store[1] for details.
69
+To use a helper, you must first select one to use (see below for a list).
70
71
You may also have third-party helpers installed; search for
72
`credential-*` in the output of `git help -a`, and consult the
@@ -106,6 +95,28 @@ $ git config --global credential.helper foo
95
96
=== Available helpers
97
98
+Git currently includes the following helpers:
99
+
100
+cache::
101
+
102
+ Cache credentials in memory for a short period of time. See
103
+ linkgit:git-credential-cache[1] for details.
104
+
105
+store::
106
+
107
+ Store credentials indefinitely on disk. See
108
+ linkgit:git-credential-store[1] for details.
109
+
110
+Popular helpers with secure persistent storage include:
111
+
112
+ - git-credential-libsecret (Linux)
113
+
114
+ - git-credential-osxkeychain (macOS)
115
+
116
+ - git-credential-wincred (Windows)
117
+
118
+ - https://github.com/git-ecosystem/git-credential-manager[Git Credential Manager] (cross platform, included in Git for Windows)
119
+
120
The community maintains a comprehensive list of Git credential helpers at
121
https://git-scm.com/doc/credential-helpers.
122
@@ -116,6 +127,12 @@ OAuth credential helper. Initial authentication opens a browser window to the
127
host. Subsequent authentication happens in the background. Many popular Git
128
hosts support OAuth.
129
130
+Popular helpers with OAuth support include:
131
+
132
+ - https://github.com/git-ecosystem/git-credential-manager[Git Credential Manager] (cross platform, included in Git for Windows)
133
+
134
+ - https://github.com/hickford/git-credential-oauth[git-credential-oauth] (cross platform, included in many Linux distributions)
135
+
136
CREDENTIAL CONTEXTS
137
-------------------
138