【问题标题】:Why does Git for Windows helper = manager not work on new machine?为什么 Git for Windows helper = manager 不能在新机器上工作?
【发布时间】:2023-01-28 00:28:17
【问题描述】:

我在 Windows 10 机器上运行 Git for Windows 2.37.1.windows.1 就好了。多年来,我一直在那台旧机器上更新 Git for Windows。我的~/gitconfig 文件包含:

[credential]
    helper = manager

我在新机器上安装了干净的 Windows 10,并在新机器上运行完全相同的可执行文件来安装 Git。 git --version 正确显示 git version 2.37.1.windows.1

我试图访问 Bitbucket 安全存储库,它弹出了一个身份验证对话框(不足为奇),但在命令行上它说:

git: 'credential-manager' is not a git command. See 'git --help'.

The most similar command is
        credential-manager-core

我意识到有几个 Stack Overflow 问题,其中一个说要删除 [credential] 部分,其中一个说要将 manager 更改为 manager-core,还有一个说要运行 git credential-manager-core configure,等等。

但这些不是我的主要问题。当然,我可以花半天时间尝试所有这些不同的命令和组合,试图让 Git 再次工作。

我的核心问题是:如果适用于 Windows 的相同版本的 Git 在旧机器上运行,为什么安装在新机器上的完全相同版本的 Git 不能在完全相同的 .gitconfig 上运行?有什么不同吗?当我在新机器上运行 Git for Windows 安装可执行文件时没有配置什么?

【问题讨论】:

    标签: git git-for-windows


    【解决方案1】:

    我将刺探正在发生的事情。如果我在每台机器上运行git credential-manager-core --version,它返回相同的结果,所以 Git Credential Manager Core 似乎确实安装在两个系统上。但是在阅读 Git Credential Manager Core: Building a universal authentication experience 时,似乎在有 Git Manager Core 之前,只有 Git Manager。

    所以我猜测在旧机器上 Git 最初使用的是 Git Manager。最终,较新版本的 Git 更喜欢 Git Manager Core,但他们继续使用 Git Manager(它可能是通过以前的 Git 版本安装在我的旧机器上的),因为它在 .gitconfig 中仍然是这样设置的。

    但是在新机器上,最新的 Git 版本默认只安装了 Git Manager Core,没有安装 Git Manager。由于我的.gitconfig 仍然引用旧的 Git 管理器,它找不到它,因为它尚未安装(安装程序认为没有理由安装它,因为安装程序可能没有仔细阅读 .gitconfig)。

    我通过在 .gitconfig 中将 manager 更改为 manager-core 解决了这个问题:

    [credential]
        helper = manager-core
    

    Git 2.39.1.windows.1 更新:现在they are saying“Git Credential Manager Core”已重命名为“Git Credential Manager”,但可执行文件暂时保留为git-credential-manager-core,但现在已更改为git-credential-manager。使用 Git 2.39.1.windows.1 时会出现新警告 git-credential-manager-core was renamed to git-credential-manager。将 helper = manager-core 改回 .gitconfig 中的 helper = manager 会使警告消失,尽管说明建议这样做:

    [credential]
        helper =
        helper = C:/Program\ Files\ \(x86\)/Git\ Credential\ Manager/git-credential-manager.exe
    

    至少可以说,这令人困惑。

    【讨论】:

    • manager-core 确实是使用 Window 凭证管理器的当前管理员。我不知道为什么改了名字,但在过去的几年里我遇到了同样的问题。我很惊讶你现在才面对它......
    • 但现在 manager-core 只是 manager。 ? 请参阅答案中的更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多