explaingit

git-ecosystem/git-credential-manager

8,862C#Audience · developerComplexity · 1/5LicenseSetup · easy

TLDR

A sign-in helper for Git that handles two-factor authentication with GitHub, GitLab, Azure DevOps, and Bitbucket, storing your token securely so you never have to type a password on git push again.

Mindmap

mindmap
  root((GCM))
    What it does
      Git authentication
      Token storage
      2FA support
    Platforms
      Windows
      macOS
      Linux
    Services
      GitHub
      GitLab
      Azure DevOps
      Bitbucket
    Use Cases
      Secure Git login
      Password-free pushes
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Authenticate to GitHub or GitLab from the command line without entering your password on every git push or pull.

USE CASE 2

Handle two-factor authentication flows for Git on Windows, macOS, or Linux using a single unified tool.

USE CASE 3

Replace older platform-specific credential helpers with one cross-platform tool that stores tokens in the OS native keychain.

Tech stack

C#.NET

Getting it running

Difficulty · easy Time to first run · 5min
Use, modify, and distribute freely for any purpose including commercial projects, as long as you keep the MIT license notice.

In plain English

Git Credential Manager (GCM) is a tool that handles sign-in for Git when you push or pull code from a remote hosting service. Without something like GCM, Git would ask you for your username and password every time, or would rely on simpler credential helpers that only support basic username-password logins and cannot handle modern two-factor authentication flows. GCM works silently in the background. Once installed, it intercepts Git's authentication requests and opens a browser window or dialog when you connect to a service like GitHub, Azure DevOps, Bitbucket, or GitLab. You complete the login there, including any two-factor step, and GCM stores the resulting token securely in your operating system's credential store. Future Git operations in the same repository reuse that stored token automatically, so you are not asked again until it expires. It runs on Windows, macOS, and Linux, and supports the native credential storage mechanism on each platform. On Windows that means the Windows Credential Manager, on macOS the system Keychain, and on Linux one of several compatible secret stores. The README includes a comparison table showing which features are available on each operating system, with most features covered across all three. GCM replaces two older tools: one that was Windows-only and one that was Java-based for Mac and Linux. This unified version is written in C# on .NET, which lets a single codebase run on all three platforms without maintaining separate projects. Installation is done through the standard installer for your operating system, the README links to the install guide rather than listing steps inline. After installing, no additional configuration is required for common workflows. The project is MIT-licensed and accepts contributions through GitHub.

Copy-paste prompts

Prompt 1
I just installed Git Credential Manager. How do I verify it is correctly set up with my local Git config and test a GitHub authentication from the terminal?
Prompt 2
How does Git Credential Manager store my GitHub token on Linux? Which secret stores does it support and how do I pick one?
Prompt 3
Walk me through removing a cached GitHub credential from Git Credential Manager after rotating my personal access token.
Prompt 4
My GCM browser login window is not appearing when I run git push, how do I diagnose which credential helper is currently active?
Prompt 5
How do I configure Git Credential Manager to use a specific credential store on Linux, like the GNOME keychain or pass?
Open on GitHub → Explain another repo

← git-ecosystem on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.