You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更换GitHub账号后无法推送至新账号,请求解决权限问题

解决GitHub账号切换后无法推送的问题

核心问题排查与修复步骤

1. 修复全局.gitconfig的冲突配置

你的.gitconfig存在重复和冲突的配置项,会导致凭证管理逻辑混乱:

  • 删除重复的remote.origin.proxy=行(无需保留可全删)
  • 删除credential.helper=store行,仅保留credential.helper=osxkeychain(Mac系统优先通过钥匙串管理凭证)

修改后的.gitconfig关键配置示例:

credential.helper=osxkeychain
init.defaultbranch=main
user.name=newAccount_name
user.email=newAccount_email
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true

2. 检查并修正仓库本地配置

全局配置正确不代表仓库本地配置同步,进入目标仓库目录,检查.git/config文件:

  • 确认[user]段的name和email为新账号信息
  • 确认[remote "origin"]的url是https://github.com/[newAccount]/Repo.git

若存在旧信息,用命令直接修改:

# 修改仓库本地用户名
git config --local user.name "newAccount_name"
# 修改仓库本地邮箱
git config --local user.email "newAccount_email"

3. 强制清除旧凭证并重新验证

执行命令彻底移除Git存储的GitHub旧凭证:

git credential-osxkeychain erase

执行后按提示输入:

host=github.com
protocol=https

回车确认后,钥匙串中的旧GitHub凭证会被清除。

重新执行推送命令:

git push -u origin main

此时会弹出验证窗口,输入新账号的个人访问令牌(PAT)(GitHub已停用密码登录,需提前在新账号设置中生成PAT,权限勾选repo即可)。

4. 验证最终配置有效性

推送成功后,执行命令确认当前使用的凭证:

git credential-osxkeychain get

输入host=github.com和protocol=https后,返回的用户名应为新账号。


内容的提问来源于stack exchange,提问作者sub

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 03:41:04