gpt4 book ai didi

Git 以错误的用户身份推送到远程 GitHub 存储库

转载 作者:IT王子 更新时间:2023-10-29 00:33:13 24 4
gpt4 key购买 nike

我有一个工作 GitHub 帐户和一个个人帐户。首先,我将个人帐户用于测试项目,然后我继续在同一台计算机上使用另一个帐户创建存储库。

现在我又想在我的个人账户上创建一个新的仓库,我改变了全局和本地的user.name,并做了一个新的ssh key 对,进入GitHub设置页面。然后我设置目录

git init
git remote add origin <url>
git push origin

但那现在告诉我

ERROR: Permission to personaluser/newrepo.git denied to

我不知道另一个帐户是如何连接到这个帐户的。 .git/config 显示没有 workusername 相关的东西。

如果您使用的是 Windows 10,请花点时间阅读 Rajan 的回答。

最佳答案

这听起来与我目前的工作设置非常相似。似乎您已经设置了单独的 ssh-keys,因此您还需要创建一个 ~/.ssh/config 文件并使用类似于以下内容的信息填充它:

Host work.github.com
HostName github.com
User WORK_GITHUB_USERNAME
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_work_rsa
IdentitiesOnly yes

Host personal.github.com
HostName github.com
User PERSONAL_GITHUB_USERNAME
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_personal_rsa
IdentitiesOnly yes

除了 IdentitiesOnly 之外,每个属性听起来都很容易解释。我不会尝试解释它的用途,但这在我当前的设置中并且工作正常。

还值得注意的是,Host URL 只是获取正确用户设置的指针,对将文件正确发送到目标 HostName 没有任何影响网址。

现在您只需要确保您的 origin(或一般的任何 remote)url 与您各自 repos 中的正确 Host url 匹配取决于您的用户名。如果您已经有个人存储库,则可以在文本编辑器中编辑该存储库的 .git/config 文件:

[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@personal.github.com:PERSONAL_GITHUB_USERNAME/project.git

或通过命令行执行:

git remote set-url origin git@personal.github.com:PERSONAL_GITHUB_USERNAME/project.git

与您的工作一样:

[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@work.github.com:your_work_organization/project.git

或者再次通过命令行:

git remote set-url origin git@work.github.com:your_work_organization/project.git

当然,您始终可以在 ~/.ssh/config 文件中设置您的 Host url 之一

Host github.com

我只使用 work.github.com 来更轻松地查看配置关系。

一旦这些都设置好了,您应该能够推送到每个相应的 Remote 。

编辑

我自己刚刚发现的一件事是,如果您曾经为您的 user.email 值设置全局 git 配置值(我猜是 user.name 也会发送不同的值),git 将显示您作为该电子邮件用户的提交。为了解决这个问题,您可以覆盖本地存储库中的全局 git 配置设置:

$ git config user.name "John Doe"
$ git config user.email johndoe@example.com

现在应该以该存储库的正确用户身份发送提交。

关于Git 以错误的用户身份推送到远程 GitHub 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4665337/

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