Search code examples
gitgit-bashgit-for-windowsadvapi32credential-manager

Wincred not working properly with Git Bash(Git for Windows) when executing certain commands like "prune"


I have setup GitforWindows in my Windows 7 64Bit pretty well with Credential manager as "Wincred".

Yet when I run some commands like git remote prune origin in GitBash, it gives following error in console, though runs the command:

Failed to load advapi32.dll

Why is that ? If there is something need to be done with Credential manager settings, then I need full explanation of how to do those settings and what each setting means.

Note: This problem I have only with some commands, other commands are running just fine without any errors.


Solution

  • If you are using the latest Git for Windows, make sure to set your credential helper to manager, not WinCred (which was obsoleted some times ago)

    git config --global credential.helper manager
    

    That will use the GCM-core (Git-Credential-Manager-Core).

    As mentioned here:

    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 Azure DevOps, Team Foundation Server, GitHub, and Bitbucket.

    Updte 2021: GCM-Core is now the up-to-date solution, cross-platform Windows-Linux-Mac.

    Update 2022:

    It has been replaced by GCM (Git Credential Manager), and after Git 2.38.1, is called manager (no longer "manager-core").

    If you have upgraded Git for Windows, you can safely change your credential helper to manager.

    # up to Git 2.38.1 on Windows
    git config --global credential.helper manager-core
    
    # Git 2.39+
    git config --global credential.helper manager