mac git报错“permission denied”是因钥匙串存有失效的github/gitlab凭据,需在钥匙串访问中搜索github.com或gitlab.com,编辑对应条目密码并保存,再通过git pull/push验证生效。

Mac上Git操作频繁报错“remote: Permission to xxx/xxx.git denied to xxx”,通常是因为钥匙串里存着旧的、已失效的GitHub或GitLab账号密码,必须手动进钥匙串修改才能继续推送代码。
打开钥匙串访问并定位Git凭据
打开“应用程序”→“实用工具”→双击“钥匙串访问”。
在右上角搜索框中输入 【github】 或 【gitlab】(根据你实际使用的平台选其一),回车后会出现匹配的登录项。若搜不到,尝试输入域名关键词如 【github.com】 或 【gitlab.com】,这是最常被忽略的定位方式。
找到对应条目并编辑密码
在搜索结果中,逐个双击条目,查看“服务器”和“账户名称”是否与你要操作的远程仓库一致——比如服务器显示 github.com,账户名是 old-username,而你现在要用 new-username,那就得改这条。
双击进入后勾选“显示密码”,系统会要求你输入当前Mac开机密码(不是Git密码);输完两次后密码明文可见,直接在“密码”栏里删掉旧值,粘贴新密码,点右下角“保存更改”。
注意:如果该条目“访问控制”标签页里没有SourceTree或Terminal进程,后续用SourceTree仍可能读不到新密码——但终端git命令不受此限制,本操作仅针对终端场景。
验证修改是否生效
打开终端,进入任意已配置远程仓库的本地项目目录。
执行 git pull 或 git push,不再弹出认证失败提示,且能正常拉取或推送,说明钥匙串中的凭据已更新成功。











