The Git Credential Manager for Windows (GCM) provides secure Git credential storage for Windows. It's the successor to the Windows 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 for Visual Studio Team Services, Team Foundation Server, GitHub, and Bitbucket.
This project includes:
- Secure password storage in the Windows Credential Store.
- Multi-factor authentication support for Visual Studio Team Services.
- Two-factor authentication support for GitHub.
- Two-factor authentication support for Bitbucket.
- Personal Access Token generation and usage support for Visual Studio Team Services and GitHub.
- Non-interactive mode support for Visual Studio Team Services backed by Azure Directory..
- NTLM/Kerberos authentication for Team Foundation Server (see notes).
- Optional settings for build 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 the wiki.
To use the GCM, you can download the latest installer. To install, double-click Setup.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 is configured to use modal dialogs. GCM cannot prompt you for credentials, at the console, in a MinTTY setup.
You don't. It magically works when credentials are needed. For example, when pushing to Visual Studio Team Services, it automatically opens a window and initializes an oauth2 flow to get your token.
Note for users with special installation needs, you can still extract the gcm-<version>.zip
file and run install.cmd from an administrator command prompt. This allows specification of the installation options explained below.
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 command git-credential-manager install
. Additional information about development and debugging are available in our documents area.
Various options are available for uniquely configured systems, like automated build systems. For systems with a non-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 to avoid checking for the Microsoft .NET Framework and other similar prerequisites use the --force
option. For systems looking for silent 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.
- Review code 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 visit https://cla.microsoft.com to sign digitally. Alternatively, download the agreement Microsoft Contribution License Agreement.pdf, sign, scan, and email it back to cla@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 the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project uses the MIT License.