如果我设置
git config --global credential.username my_username
选项,然后使用--local
选项为一个存储库覆盖它没有任何区别 - 它仍然在尝试提交或推送时使用全局凭据。我怎么能改变这个?
答案 0 :(得分:2)
repo本地配置对我不起作用。在尝试了stackoverflow的各种方法后,最后通过从ssh切换到https并使用 credential.helper 来实现:
第1步,将git远程从ssh更改为https:
$ git remote -v
git@github.com:#####/###.git (push)
$ git remote rm origin
$ git remote add origin https://username@github.com/######/###.git
第2步,让 credential.helper 帮助记住密码,避免烦人的重复询问。
$ git config --global credential.helper cache
$ git config --global credential.helper 'cache --timeout 7200'
默认情况下,凭据将保存在〜/ .git-credentials中。它将被创建并写入。
但请注意使用此帮助程序将以未加密的方式存储您的密码在磁盘上,仅受文件系统权限的保护。如果这可能不是一个可接受的安全权衡。
答案 1 :(得分:0)
<强> credential.username 强>
如果没有为网络身份验证设置用户名,请默认使用此用户名
您可能已在user.name
上配置了--global
,因此credential.username
上的--local
未被使用。试试这个:
git config --local user.name my_username