gpt4 book ai didi

git - windows : git has old github username, 无法更改 git 用户

转载 作者:IT王子 更新时间:2023-10-29 00:53:44 26 4
gpt4 key购买 nike

我有 2 个 github 帐户,旧的和新的。当我在新的上 checkout 一个 repo 时,我无法提交它,因为它说我的旧 github 用户没有被授权。

假设我的旧 github 帐户用户名是旧的,电子邮件是 old@old.com假设我的新 github 帐户用户名是新的,电子邮件是 new@new.com

旧的 github 帐户没有关联的 SSH key 。新帐户有我的 ssh key 。当我使用 Windows 时,ssh key 是一场噩梦,因为 putty/pagent 使用 ppk 格式,但 gitbash 使用的 openssh 使用 rsa。前段时间,我设法将我的 ppk 转换为 rsa,并将其放入我的 Windows 用户 .ssh 目录中。

我这样做了:

$ git config --global user.name new
$ git config --global user.email new@new.com

如果我这样做:

$ git config --global -l

$ git config -l

我明白了:

 user.email=new@new.com
user.name=new

当我尝试执行 $git push origin

remote: Permission to new/test.git denied to old.
fatal: unable to access 'https://github.com/new/test.git/':
403 user old not authorised

如果我使用 gitbash、tortoise 或 VS code 进行推送,我会收到此错误。

如果我删除克隆的存储库,然后从头开始重新克隆它,然后提交任何内容,同样的问题。

$ git clone git@github.com:new/test.git

知道为什么以及在哪里吸引老用户吗?在我的机器上的任何地方都没有提到旧的 github 用户,它阻止我做任何工作。

github上好像没有办法删除旧用户,但就算可以,也未必能解决问题。我已经几个月无法工作了,因为我无法向 github 提交任何内容。

我尝试的另一件事是在克隆存储库后编辑 .git/config。我尝试将 https 更改为 ssh url,因为 https 在使用 github 的这些年里对我来说从来没有用过。 https 允许您克隆,但绝不能推送。如果我使用 ssh checkout ,使用适量的 vodoo,它曾经有效,但现在它总是无缘无故地吸引老用户。

最佳答案

unable to access 'https://github.com/new/test.git/':

这意味着:不涉及 SSH。完全没有。
并且 user.name/user.email 也与身份验证无关。

由于您使用的是 https,Git 将使用它为 github.com 找到的第一个缓存凭证。
检查 git config credential.helper
的返回值例如,在 Windows 上,这将是 Windows 凭据管理器。

您至少应该在您的 URL 中指定新的 GitHub 帐户:

cd /path/to/your/local/repo
git remote set-url origin https://<newGitHubAccount>@github.com/newGitHubAccount/test.git

然后 Git 推送会触发一个 pop 窗口,要求您提供新的 GitHub 帐户密码。

如果你愿意,你也可以切换回SSH。
您可以将多个 SSH key 管理为 I describe here .

关于git - windows : git has old github username, 无法更改 git 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48367245/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com