- Notifications
You must be signed in to change notification settings - Fork2.2k
Secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services.
License
git-ecosystem/git-credential-manager
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Git Credential Manager (GCM) is a secureGit credential helper built on.NET that runson Windows, macOS, and Linux. It aims to provide a consistent and secureauthentication experience, including multi-factor auth, to every major sourcecontrol hosting service and platform.
GCM supports (in alphabetical order)Azure DevOps, Azure DevOpsServer (formerly Team Foundation Server), Bitbucket, GitHub, and GitLab.Compare to Git'sbuilt-in credential helpers(Windows: wincred, macOS: osxkeychain, Linux: gnome-keyring/libsecret), whichprovide single-factor authentication support for username/password only.
GCM replaces both the .NET Framework-basedGit Credential Manager for Windows and the Java-basedGit Credential Manager for Mac and Linux.
See theinstallation instructions for the current version of GCM forinstall options for your operating system.
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:
Feature | Windows | macOS | Linux* |
---|---|---|---|
Installer/uninstaller | ✓ | ✓ | ✓ |
Secure platform credential storage(see more) | ✓ | ✓ | ✓ |
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 | ✓ | N/A | N/A |
Basic HTTP authentication support | ✓ | ✓ | ✓ |
Proxy support | ✓ | ✓ | ✓ |
amd64 support | ✓ | ✓ | ✓ |
x86 support | ✓ | N/A | ✗ |
arm64 support | best effort | ✓ | ✓ |
armhf support | N/A | N/A | ✓ |
(*) GCM guarantees support only forthe Linux distributions that are officiallysupported by dotnet.
Git Credential Manager tries to be compatible with the broadest set of Gitversions (within reason). However there are some know problematic releases ofGit that are not compatible.
Git 1.x
The initial major version of Git is not supported or tested with GCM.
Git 2.26.2
This version of Git introduced a breaking change with parsing credentialconfiguration that GCM relies on. This issue was fixed in commit
12294990
of the Git project, and released in Git2.27.0.
Once it's installed and configured, Git Credential Manager is called implicitlyby Git. You don't have to do anything special, and GCM isn't intended to becalled directly by the user. For example, when pushing (git push
) toAzure DevOps,Bitbucket, orGitHub, awindow will automatically open and walk you through the sign-in process. (Thisprocess 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 Gitcommands in the same repository will re-use existing credentials or tokens thatGCM has stored for as long as they're valid.
Read full command line usagehere.
See detailed informationhere.
See thedocumentation index for links to additional resources.
Curious about what's coming next in the GCM project? Take a look at theprojectroadmap! You can find more details about the construction of theroadmap and how to interpret ithere.
This project welcomes contributions and suggestions.See thecontributing guide to get started.
This project followsGitHub's Open Source Code of Conduct.
We'reMIT licensed.When using GitHub logos, please be sure to follow theGitHub logo guidelines.
About
Secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services.
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.