![]() |
1
villivateur PRO ![]() 你再配一下其他的参数试试呢,比如 username 和 email
|
2
a33291 OP @villivateur 感谢建议,username 的话优先级配置是有效的,只有这个 credential.helper 无效
也许这个 credential.helper 是额外的配置策略,但是大部分网上资料都是通过直接配置这个来修改参数 现在的话,我测试还是必须修改 system 级别才有效 |
![]() |
3
h404bi 5 天前 ![]() git credential.helper 的策略是 system->global->local 合并*逐级*测试的,而非你想的*覆盖*。也就是先尝试 system 里设置的 credential.helper ,如果可用就跳过后续 global/local 里的设置。具体可查阅下 git-scm doc 关于 helper 的部分
|
4
a33291 OP @h404bi 感谢回复
这比较反直觉,其他配置都遵循 local->global->system 这种优先级策略 我在文档里找了以下,没有搜到描述其配置读取优先级的说明 而且网上找到的各种关于认证的资料,基本都是让改 global 配置,比如 https://stackoverflow.com/questions/13198143/how-do-i-disable-gits-credential-helper-for-a-single-repository 目前没有明确的资料说这个配置优先级是反向的,我还是倾向于认为是我这边环境问题,我得找个干净的机器再试试 |
![]() |
5
h404bi 5 天前 ![]() @a33291
找到了几年前我在 GitHub 上的回复 https://github.com/ScoopInstaller/Main/issues/2894#issuecomment-1125150531 虽然是针对 Scoop 但是情景是一样的。git-scm doc 里那句话 ..tried in turn 很容易错过。这确实挺反直觉,主要是其它设置项都使用覆盖策略。 |