- Notifications
You must be signed in to change notification settings - Fork604
Secure Git credential storage for Windows with support for Visual Studio Team Services, GitHub, and Bitbucket multi-factor authentication.
License
microsoft/Git-Credential-Manager-for-Windows
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Git Credential Manager for Windows is no longer being maintained. The cross-platformGit Credential Manager Core (GCM Core) is the official replacement.
GCM Core is included as an optional component of Git for Windows 2.28 and will be made the default credentialhelper as of Git for Windows 2.29. GCM Core can also be manually installed fromthis page.
GitHub will disable password-based authenticationon APIs Git Credential Manager for Windows uses to create tokens. As a result, GCMfor Windows will no longer be able to create new access tokens for GitHub.
Git Credential Manager Core (GCM Core) supports OAuth-basedauthentication with GitHub and is the replacement for GCM for Windows.
Please update to Git for Windows 2.28 and select "Git Credential Manager Core" fromthe installer when asked to "select a credential helper", or manually install GCM Corefromhere.
As of 22 Feb 2018,GitHub has disabled support for weak encryption which means many users will suddenly find themselves unable to authenticate using a Git for Windows which (impacts versions older than v2.16.0).DO NOT PANIC, there's a fix.Update Git for Windows to the latest (or at least v2.16.0).
The most common error users see looks like:
fatal: HttpRequestException encountered. An error occurred while sending the request.fatal: HttpRequestException encountered. An error occurred while sending the request.Username for 'https://github.com':
If, after updating Git for Windows, you are still having problems authenticating with GitHub, please read thisDeveloper Community topic which contains additional remedial actions you can take to resolve the problem.
If you are experiencing issue when usingVisual Studio, please readUnable to connect to GitHub with Visual Studio.
TheGit Credential Manager for Windows (GCM) provides secure Git credential storage for Windows. It's the successor to theWindows Credential Store for Git (git-credential-winstore), which is no longer maintained. Compared to Git's built-in credential storage for Windows (wincred), which provides single-factor authentication support working on any HTTP enabled Git repository, GCM provides multi-factor authentication support forAzure DevOps,Team Foundation Server, GitHub, and Bitbucket.
This project includes:
- Secure password storage in the Windows Credential Store.
- Multi-factor authentication support for Azure DevOps.
- Two-factor authentication support for GitHub.
- Two-factor authentication support for Bitbucket.
- Personal Access Token generation and usage support for Azure DevOps, GitHub, and Bitbucket.
- Non-interactive mode support for Azure DevOps backed by Azure Directory.
- NTLM/Kerberos authentication for Team Foundation Server (see notes).
- Optional settings forbuild agent optimization.
This is a community project so feel free to contribute ideas, submit bugs, fix bugs, or code new features. For detailed information on how the GCM works go to thewiki.
To use the GCM, you can download thelatest installer. To install, double-clickGCMW-{version}.exe
and follow the instructions presented.
When prompted to select your terminal emulator for Git Bash you should choose the Windows' default console window, or make sure GCM isconfigured to use modal dialogs. GCM cannot prompt you for credentials, at the console, in a MinTTY setup.
Note for users with special installation needs, you can still extract thegcm-{version}.zip
file and run install.cmd from an administrator command prompt. This allows specification of the installation options explained below.
To use the GCM along with git installed withpacman
in an MSYS2 environment, simplydownload a release zip and extract the contents directly intoC:\msys64\usr\lib\git-core
(assuming your MSYS2 environment is installed inC:\msys64
). Then run:
git config --global credential.helper manager
You don't. Itmagically works when credentials are needed. For example, when pushing toAzure DevOps, it automatically opens a window and initializes an oauth2 flow to get your token.
To build and install the GCM yourself, clone the sources, open the solution file in Visual Studio, and build the solution. All necessary components will be copied from the build output locations into a.\Deploy
folder at the root of the solution. From an elevated command prompt in the.\Deploy
folder issue the following commandgit-credential-manager install
. Additional information aboutdevelopment and debugging are available in our documents area.
Various options are available for uniquely configured systems, like automated build systems. For systems with anon-standard placement of Git use the--path <git>
parameter to supply where Git is located and thus where the GCM should be deployed to. For systems looking toavoid checking for the Microsoft .NET Framework and other similar prerequisites use the--force
option. For systems looking forsilent installation without any prompts, use the--passive
option.
- Credential Manager Usage
- Askpass Usage
- Configuration Options
- Build Agent and Automation Support
- Bitbucket Specific Details
- Frequently Asked Questions
- Development and Debugging
There are many ways to contribute.
- Submit bugs and help us verify fixes as they are checked in.
- Reviewcode changes.
- Contribute bug fixes and features.
For code contributions, you will need to complete a Contributor License Agreement (CLA). Briefly, this agreement testifies that you grant us permission to use the submitted change according to the terms of the project's license, and that the work being submitted is under the appropriate copyright.
Please submit a Contributor License Agreement (CLA) before submitting a pull request. You may visithttps://cla.microsoft.com to sign digitally. Alternatively, download the agreementMicrosoft Contribution License Agreement.pdf, sign, scan, and email it back tocla@microsoft.com. Be sure to include your GitHub user name along with the agreement. Once we have received the signed CLA, we'll review the request.
This project has adopted theMicrosoft Open Source Code of Conduct. For more information see theCode of Conduct FAQ or contactopencode@microsoft.com with any additional questions or comments.
This project uses theMIT License.
About
Secure Git credential storage for Windows with support for Visual Studio Team Services, GitHub, and Bitbucket multi-factor authentication.
Topics
Resources
License
Code of conduct
Security policy
Uh oh!
There was an error while loading.Please reload this page.