【问题标题】:Git pushes files to github with wrong usernameGit使用错误的用户名将文件推送到github
【发布时间】:2014-07-12 03:07:23
【问题描述】:

我正在尝试使用 Mac OS 上的终端将我提交的更改推送到 Github,但是
它一直说我的旧 github 用户拒绝访问存储库

myuser/test1.git 的权限拒绝“OldUser”。 致命:无法访问'https://github.com/"NewUser"/test1.git/':请求的URL返回错误:403

我发现了一些类似的问题,但没有一个对我有用:
首先,我从我的 mac 中删除了所有 SSH 密钥并创建了一个新密钥,然后我将其与我的 github 帐户同步。

其次,我已使用

将 git 的全局配置设置为我的新用户名和电子邮件
git config --global user.name AND user.email

当我在项目目录中的 git 本地配置文件中更改用户和电子邮件时(我认为至少可以这样做),我很惊讶地在推送时看到同样的错误,我的旧用户名再次弹出...... (我真的认为本地配置会覆盖任何旧的全局值)我只是不知道去哪里找了..
没有定义 git 环境变量,并且 SSH 密钥全部重新创建。 似乎最后一个选择是重新安装 git,这将是一个非常丑陋的出路..

哦!顺便说一句,当我尝试使用专用的 MacOS 应用程序推送到 github 时,它工作得很好!我一点也不感到惊讶,因为所有报告此问题的用户都表示该应用对他们来说工作得很好。我只是想我提到它!

所以,如果有人得到答案(或至少有预感),那将对我有很大帮助。

【问题讨论】:

  • 您确定已从旧帐户中删除了公共 SSH 密钥吗?在 git config 中设置 user.nameuser.email 也无关紧要。
  • 是的,我已经从旧帐户中删除了我的公共 SSH 密钥以及存储在我的 mac (/Users/myuser/.ssh/id_rsa.pub) 上默认 .pub 文件中的所有公共密钥我在同一个默认文件中创建了一个新的 SSH 密钥(在生成时再次创建)

标签: macos git github ssh


【解决方案1】:

顺便说一句,当我尝试使用专用的 MacOS 应用程序推送到 github 时,它工作得很好!

Mac 版 gitHub 可能正在使用 https url,以及您的 GitHub 登录名/密码(Mac 版 GitHub 正在缓存)。

检查与您的远程来源关联的 url:

git remote -v

如果它是一个 https url(就像您的错误消息提示“无法访问 'https://github.com/"NewUser"/test1.git/'”),再多的 SSH 摆弄也不会改变这个错误。
也许,对于 http url,Credential Caching on Mac OS X has still the old credentials

【讨论】:

    【解决方案2】:

    我在 Windows 上遇到了完全相同的错误,显然这是一个 Git 问题。感谢 github 论坛上的 ayan4m1 (https://github.com/Microsoft/Git-Credential-Manager-for-Windows/issues/152),我终于在 Windows 中修复了这个问题,在管理员模式下使用记事本从 C:\Program Files\Git\mingw64\etc.gitconfig 文件中删除 credential.helper = manager 行。没有其他工作。

    显然,由于我在 IDE 中的 Git bash 中处于非提升模式,因此我的任何全局命令都无法覆盖全局文件。希望这可以帮助解决此问题的其他人并节省时间。

    【讨论】:

      猜你喜欢
      • 2015-10-28
      • 1970-01-01
      • 2018-11-15
      • 2023-03-16
      • 2018-04-25
      • 2012-05-31
      • 2016-12-30
      • 1970-01-01
      • 2011-06-07
      相关资源
      最近更新 更多