我和一个朋友共用我的电脑。我已经在Windows 7上使用git bash shell推送到GitHub。现在我们在那台电脑上做一个不同的项目,我需要她推到她的账户上。但它一直试图使用我的用户名,并说我没有访问她的存储库:

$ git push her_github_repository our_branch
ERROR: Permission to her_username/repository.git denied to my_username.
fatal: The remote end hung up unexpectedly

重要:2021年8月13日删除了对密码验证的支持。


当前回答

我不知道如何在一台机器上有第二个github身份(这些答案都不适合我),但我确实弄清楚了如何能够以我自己的身份推送多个不同的github账户。

推送相同的用户名,但不同的github帐户

为你的第二个github账户设置第二个SSH密钥(就像这样) 帐户之间的变化如下:

用我的第二个github账号推送

ssh-add -D
ssh-add ~/.ssh/ssh_key_for_my_2nd_account
git push

用我的主账号推送

ssh-add -D
ssh-add ~/.ssh/id_rsa   
git push

其他回答

发生提交的用户id存储在配置文件中。

转到存储库的顶部 vi . /配置

更改“[remote "origin"]后列出的url行,使其具有适当的用户id

转到凭证管理器 转到Windows凭证 删除通用凭证下的条目 再次尝试连接。

如果您使用ssh和get

some_username/repository的权限。Git拒绝 Alice_username

虽然你不想推作为Alice_username,确保Alice_username没有你的电脑的ssh密钥添加到它的github帐户。

我从爱丽丝的github账户上删除了ssh密钥,推送成功了。

如前所述,您可以使用

git config user.name her_username
git config user.email her_email

手动设置单次回购的用户名和邮箱,但必须添加此命令:

git commit --amend --reset-author

如果你在改变之前已经尝试过了。否则更改不会出现在配置文件中。

这是简单的克隆,请采取的git URL与您的用户名。在提交时,它将询问您的新用户密码。

Eg:

Git克隆https://username@github.com/username/reponame.git

Git克隆https://username@bitbucket.org/username/reponame.git