之前在mac上构建了一个github blog,将其删除之后 构建第二个github blog的时候,部署一直报错,remote: Permission to A/A.github.io.git denied to B.

关于问题的解决已经有两个文章讲的很好了。

大概就是mac终端使用git会缓存密码, 可以尝试下通过钥匙串程序管理. 在钥匙串程序右上角的搜索区搜索github, 结果中种类为互联网密码的条目即为所需, 删除它重新试试git.

这篇文章 翻译了git 关于 credentials 的介绍,里面详细说明了git 是如何寻找用户输入过的用户名和密码的,可以看一下明白 git 记录密码的原理。如果你不想看这篇文章,那么大概理解几个概念就好:

  1. git 去找系统是否缓存了用户的密码有三种策略:去缓存中找,去磁盘中找,去钥匙串中找。

  2. /Users/xxx/.gitconfig 文件中(这个文件如果没设置过git 的全局配置可能会不存在),配置了git 到底选择哪个策略去找用户名和密码。

  3. 通过编辑 .gitconfig 文件,credential.helper = store/cache/osxkeychain 来修改 git 缓存策略。

建议阅读原文。