Gitbash推送GitHub提示权限被拒,修改全局账号仍异常
解决Git推送GitHub时的权限拒绝问题
排查与修复步骤
- 检查仓库本地配置
全局配置优先级低于仓库本地配置,先确认当前仓库的专属配置:
git config --local --list
如果输出里出现报错中的xxx用户名/邮箱,直接修改本地配置:
git config --local user.name "你的GitHub用户名" git config --local user.email "你的GitHub绑定邮箱"
- 清理Git缓存的认证凭据
Git会缓存旧的登录信息,即使修改了用户名,系统仍可能用旧凭据验证:
- Windows:打开「控制面板」→「用户账户」→「凭据管理器」→「Windows凭据」,找到
git:https://github.com相关条目并删除,重新推送时输入新的用户名和个人访问令牌(GitHub已不支持密码登录,需用PAT)。 - macOS:打开「钥匙串访问」,搜索
github.com,删除相关Git凭据后重新推送验证。 - Linux:若使用
libsecret存储凭据,用libsecret-tools删除对应条目;或直接删除~/.git-credentials文件(若存在)。
- 检查远程仓库URL配置
远程仓库URL可能嵌入了旧用户名,执行命令查看:
git remote -v
如果看到类似https://xxx@github.com/xxx/python.git的地址,修改为正确格式:
git remote set-url origin https://github.com/你的用户名/python.git
若配置了SSH密钥,改用SSH地址更稳定:
git remote set-url origin git@github.com:你的用户名/python.git
- 验证个人访问令牌(PAT)权限
若使用HTTPS推送,确保你的PAT拥有repo权限,且处于有效状态(未过期、未被撤销)。
内容的提问来源于stack exchange,提问作者Enes
相关产品推荐
相关产品推荐

