如何解决GitHub提交与推送的身份配置冲突问题?
解决Git推送身份不匹配的403权限问题
Git全局配置的user.name/user.email仅用于标记提交的作者身份,推送代码时的身份验证依赖本地存储的GitHub凭据,和全局提交身份配置无关——这就是你遇到权限错误的核心原因。以下是具体解决办法:
方法1:清理并更新本地GitHub凭据(MacOS)
- 打开「钥匙串访问」应用,搜索
github.com - 找到对应凭据条目,若用户名是
cclchd-naveenkumar,右键删除该条目 - 重新执行
git push origin dev,在弹出的登录窗口输入0xminer11对应的GitHub账号密码或个人访问令牌(PAT)
方法2:用Git命令管理凭据
- 查看当前Git凭据助手配置:
git config --global credential.helper - 若为MacOS默认的
osxkeychain,执行以下命令清除旧凭据:
输入完成后按两次回车即可清除git credential-osxkeychain erase host=github.com protocol=https - 再次执行推送命令,输入
0xminer11的正确凭据
方法3:改用SSH协议推送(推荐,避免凭据冲突)
- 生成SSH密钥(无则生成):
ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱" - 将生成的公钥(路径
~/.ssh/id_ed25519.pub内的内容)添加到GitHub账号的SSH密钥列表中 - 修改本地仓库远程地址为SSH格式:
git remote set-url origin git@github.com:0xminer11/gasless-Txs..git - 后续推送将通过SSH密钥验证身份,不会再出现身份不匹配问题
额外检查:确认仓库本地配置未覆盖全局设置
部分仓库可能单独配置了提交身份,执行以下命令检查:
git config user.name git config user.email
若输出不是0xminer11及对应邮箱,执行以下命令修改:
git config user.name "0xminer11" git config user.email "你的GitHub绑定邮箱"
内容的提问来源于stack exchange,提问作者Naveen-Arali
相关产品推荐
相关产品推荐

