122 lines
6.4 KiB
HTML
122 lines
6.4 KiB
HTML
<h1>Git Credential Manager</h1>
|
|
|
|
<p><a href="https://github.com/git-ecosystem/git-credential-manager/actions/workflows/continuous-integration.yml"><img src="https://github.com/git-ecosystem/git-credential-manager/actions/workflows/continuous-integration.yml/badge.svg" alt="Build Status" /></a></p>
|
|
|
|
<hr />
|
|
|
|
<p><a href="https://github.com/git-ecosystem/git-credential-manager">Git Credential Manager</a> (GCM) is a secure
|
|
<a href="https://git-scm.com/docs/gitcredentials">Git credential helper</a> built on <a href="https://dotnet.microsoft.com">.NET</a> that runs
|
|
on Windows, macOS, and Linux. It aims to provide a consistent and secure
|
|
authentication experience, including multi-factor auth, to every major source
|
|
control hosting service and platform.</p>
|
|
|
|
<p>GCM supports (in alphabetical order) <a href="https://azure.microsoft.com/en-us/products/devops">Azure DevOps</a>, Azure DevOps
|
|
Server (formerly Team Foundation Server), Bitbucket, GitHub, and GitLab.
|
|
Compare to Git's <a href="https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage">built-in credential helpers</a>
|
|
(Windows: wincred, macOS: osxkeychain, Linux: gnome-keyring/libsecret), which
|
|
provide single-factor authentication support for username/password only.</p>
|
|
|
|
<p>GCM replaces both the .NET Framework-based
|
|
<a href="https://github.com/microsoft/Git-Credential-Manager-for-Windows">Git Credential Manager for Windows</a> and the Java-based
|
|
<a href="https://github.com/microsoft/Git-Credential-Manager-for-Mac-and-Linux">Git Credential Manager for Mac and Linux</a>.</p>
|
|
|
|
<h2>Install</h2>
|
|
|
|
<p>See the <a href="https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/install.md">installation instructions</a> for the current version of GCM for
|
|
install options for your operating system.</p>
|
|
|
|
<h2>Current status</h2>
|
|
|
|
<p>Git Credential Manager is currently available for Windows, macOS, and Linux*.
|
|
GCM only works with HTTP(S) remotes; you can still use Git with SSH:</p>
|
|
|
|
<ul>
|
|
<li><a href="https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops">Azure DevOps SSH</a></li>
|
|
<li><a href="https://help.github.com/en/articles/connecting-to-github-with-ssh">GitHub SSH</a></li>
|
|
<li><a href="https://confluence.atlassian.com/bitbucket/ssh-keys-935365775.html">Bitbucket SSH</a></li>
|
|
</ul>
|
|
|
|
<p>Feature|Windows|macOS|Linux*
|
|
-|:-:|:-:|:-:
|
|
Installer/uninstaller|✓|✓|✓
|
|
Secure platform credential storage <a href="https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/credstores.md">(see more)</a>|✓|✓|✓
|
|
Multi-factor authentication support for Azure DevOps|✓|✓|✓
|
|
Two-factor authentication support for GitHub|✓|✓|✓
|
|
Two-factor authentication support for Bitbucket|✓|✓|✓
|
|
Two-factor authentication support for GitLab|✓|✓|✓
|
|
Windows Integrated Authentication (NTLM/Kerberos) support|✓|<em>N/A</em>|<em>N/A</em>
|
|
Basic HTTP authentication support|✓|✓|✓
|
|
Proxy support|✓|✓|✓
|
|
<code>amd64</code> support|✓|✓|✓
|
|
<code>x86</code> support|✓|<em>N/A</em>|✗
|
|
<code>arm64</code> support|best effort|✓|best effort, no packages
|
|
<code>armhf</code> support|<em>N/A</em>|<em>N/A</em>|best effort, no packages</p>
|
|
|
|
<p>(*) GCM guarantees support only for <a href="https://learn.microsoft.com/en-us/dotnet/core/install/linux">the Linux distributions that are officially
|
|
supported by dotnet</a>.</p>
|
|
|
|
<h2>Supported Git versions</h2>
|
|
|
|
<p>Git Credential Manager tries to be compatible with the broadest set of Git
|
|
versions (within reason). However there are some know problematic releases of
|
|
Git that are not compatible.</p>
|
|
|
|
<ul>
|
|
<li><p>Git 1.x</p>
|
|
|
|
<p>The initial major version of Git is not supported or tested with GCM.</p></li>
|
|
<li><p>Git 2.26.2</p>
|
|
|
|
<p>This version of Git introduced a breaking change with parsing credential
|
|
configuration that GCM relies on. This issue was fixed in commit
|
|
<a href="https://github.com/git/git/commit/12294990c90e043862be9eb7eb22c3784b526340"><code>12294990</code></a> of the Git project, and released in Git
|
|
2.27.0.</p></li>
|
|
</ul>
|
|
|
|
<h2>How to use</h2>
|
|
|
|
<p>Once it's installed and configured, Git Credential Manager is called implicitly
|
|
by Git. You don't have to do anything special, and GCM isn't intended to be
|
|
called directly by the user. For example, when pushing (<code>git push</code>) to
|
|
<a href="https://azure.microsoft.com/en-us/products/devops">Azure DevOps</a>, <a href="https://bitbucket.org">Bitbucket</a>, or <a href="https://github.com">GitHub</a>, a
|
|
window will automatically open and walk you through the sign-in process. (This
|
|
process will look slightly different for each Git host, and even in some cases,
|
|
whether you've connected to an on-premises or cloud-hosted Git host.) Later Git
|
|
commands in the same repository will re-use existing credentials or tokens that
|
|
GCM has stored for as long as they're valid.</p>
|
|
|
|
<p>Read full command line usage <a href="https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/usage.md">here</a>.</p>
|
|
|
|
<h3>Configuring a proxy</h3>
|
|
|
|
<p>See detailed information <a href="https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/netconfig.md#http-proxy">here</a>.</p>
|
|
|
|
<h2>Additional Resources</h2>
|
|
|
|
<p>See the <a href="https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/README.md">documentation index</a> for links to additional resources.</p>
|
|
|
|
<h2>Experimental Features</h2>
|
|
|
|
<ul>
|
|
<li><a href="https://github.com/git-ecosystem/git-credential-manager/blob/release/docs/windows-broker.md">Windows broker (experimental)</a></li>
|
|
</ul>
|
|
|
|
<h2>Future features</h2>
|
|
|
|
<p>Curious about what's coming next in the GCM project? Take a look at the <a href="https://github.com/git-ecosystem/git-credential-manager/milestones?direction=desc&sort=due_date&state=open">project
|
|
roadmap</a>! You can find more details about the construction of the
|
|
roadmap and how to interpret it <a href="https://github.com/git-ecosystem/git-credential-manager/discussions/1203">here</a>.</p>
|
|
|
|
<h2>Contributing</h2>
|
|
|
|
<p>This project welcomes contributions and suggestions.
|
|
See the <a href="CONTRIBUTING.md">contributing guide</a> to get started.</p>
|
|
|
|
<p>This project follows <a href="CODE_OF_CONDUCT.md">GitHub's Open Source Code of Conduct</a>.</p>
|
|
|
|
<h2>License</h2>
|
|
|
|
<p>We're <a href="LICENSE">MIT</a> licensed.
|
|
When using GitHub logos, please be sure to follow the
|
|
<a href="https://github.com/logos">GitHub logo guidelines</a>.</p>
|