运行Git命令,如
GIT_TRACE=1 git lfs locks显示系统credential.helper是使用的,即使它被本地配置覆盖。
正在运行
git config --system -l列出“credential.helper=manager”
鉴于
git config --local -l仅列出“credential.helper=other”
在启用跟踪器的情况下运行Git命令将显示这一行
run-command.c:663 trace: run_command: 'git credential-manager get'删除系统范围内的管理器
git config --system --unset credential.helper修复该问题,我的本地助手“other”将被正确使用。根据git配置文档,每个级别都高于以前的级别,因此Git不尊重git标准。是否有任何明智的方法来使此工作,而不取消系统范围的帮助,并通过这种潜在的破坏其他存储库的身份验证?
发布于 2020-11-17 03:26:20
实际上,Git LFS在这里做的是对的。它使用Git的git credential命令,因此完全继承了Git本身的行为。
虽然正确的是,当Git选项接受单个值时,更具体的配置文件覆盖更多的通用文件,在credential.helper的情况下,可以指定多个值。如果您有一组站点的自定义凭据助手(例如,在一组域中的站点),然后是其他站点的常规助手,这将是很有帮助的。在这种情况下,所有凭据助手都将被要求提供凭据,直到找到提供所需凭据的凭据为止。
如果您只想重写一个存储库,可以在.git/config中编写类似的内容,首先清除现有列表(包含空条目),然后添加一个新的凭据助手:
[credential]
helper =
helper = other从git config中正确设置是非常棘手的,所以我建议手动编辑文件。
https://stackoverflow.com/questions/64822717
复制相似问题