【问题标题】:Git LFS does not respect level of config files for credential.helperGit LFS 不尊重 credential.helper 的配置文件级别
【发布时间】:2020-11-13 14:30:49
【问题描述】:

运行 Git LFS 命令,例如

GIT_TRACE=1 git lfs locks

显示系统 credential.helper 已被使用,即使它已被本地配置覆盖。

跑步

git config --system -l

列出“credential.helper=manager”

git config --local -l

列出“credential.helper=other”

在启用跟踪器的情况下运行 Git LFS 锁定命令会显示此行

run-command.c:663       trace: run_command: 'git credential-manager get'

删除系统范围的管理器

git config --system --unset credential.helper

解决了这个问题,我的本地助手“其他”被正确使用。 根据git configuration documentation,每个级别都胜过前一个级别,因此 Git LFS 不尊重 git 标准。有没有什么聪明的方法可以在不取消设置系统范围的帮助程序以及可能破坏其他存储库的身份验证的情况下完成这项工作?

【问题讨论】:

    标签: windows git git-lfs git-credential-manager


    【解决方案1】:

    实际上,Git LFS 在这里做的是正确的事情。它使用 Git 的 git credential 命令,因此完全继承了 Git 本身的行为。

    虽然您是正确的,当 Git 选项采用单个值时,更具体的配置文件会覆盖更通用的文件,在 credential.helper 的情况下,可以指定多个值。如果您有一组网站(例如,一组域中的那些)的自定义凭证助手,然后是其他网站的常规助手,这会很有帮助。在这种情况下,所有凭据助手都将被要求提供凭据,直到找到提供所需凭据的助手。

    如果您只想为一个存储库覆盖此设置,您可以在.git/config 中编写类似的内容,以首先清除现有列表(带有空条目),然后添加新的凭证助手:

    [credential]
        helper =
        helper = other
    

    git config 正确设置是相当棘手的,所以我建议手动编辑文件。

    【讨论】:

    • 太好了,这行得通。我不得不承认,从最高优先级配置级别开始询问凭证助手会更方便。无论如何,非常感谢
    猜你喜欢
    • 2018-05-28
    • 2022-06-14
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多