有一天,另一个开发者在我的计算机上用他的用户名提交了一些内容。 而此时它变成了一种诅咒。
我无法切换用户。
git config user.name "new name"
git fetch -p
包含所有可用选项,但没有成功
重启电脑,没有成功
删除所有ssh密钥,没有成功
卸载并重新安装git,但没有成功。
完成所有这个操作后,命令git push对我说:
Permission to myRepos denied to olduser.
带有--global / - local / - system选项的git config user.name是:me
我忘记了什么(清除缓存或其他东西)?
我在计算机上看到了这个旧用户的其他回购。 (他在我的电脑上工作了一周)。也许有一些冲突?
答案 0 :(得分:1)
首先要知道的是“你使用的是什么协议”:
cd /patH/to/my/local/repo
git remote -v
如果您看到以https开头的url ofr来源,则无需关注ssh密钥:它们 根本不用于https网址。
在mac上使用osxkeychain
这意味着您的Git可以将其credential helper设置为OSX Keycchain。
如果是这种情况(检查git config credential.helper
的输出),请删除与您的远程repo url匹配的条目(例如,github.com)
$ git credential-osxkeychain erase
host=github.com
protocol=https
[Press Return]
然后尝试再次推送:如果弹出窗口请求您的凭据,请输入您的GitHub帐户及其密码:这应该足以缓存您的凭据。
随后的推送不会要求您提供任何凭据(但会重复使用您刚刚缓存的凭据),并且将再次使用您的帐户完成。
答案 1 :(得分:0)
之前提交的所有信息都保持不变。更改配置只会影响新提交。