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