我和一个朋友共用我的电脑。我已经在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日删除了对密码验证的支持。


当前回答

我使用自定义的IdentityFile设置了一个ssh别名,并重写了起源,以使用我的自定义me-github主机名。

#when prompted enter `id_rsa_user1` as filename
ssh-keygen -t rsa

# ~/.ssh/config
Host user1-github
HostName github.com
Port 22
User git
IdentityFile ~/.ssh/id_rsa_user1

#check original remote origin url
git remote -v
origin git@github.com:user1/my-repo.git

#change it to use your custom `user1-github` hostname
git remote rm origin
git remote add origin git@user1-github:user1/my-repo.git

其他回答

修改项目根目录下的。git目录中的config文件:[PROJECT_PATH]/.git/config

我在这个文件的末尾添加了以下部分。之后我就可以用我的新名字按遥控器了。

[user]
    name = Your Name
    email = MyEmailAddress@company.com
git add .
git commit -m "initial commit"
git config --local credential.helper ""
git push https://github.com/youraccount/repo.git --all

执行此push命令后,将打开用户名密码提示符。

我刚刚添加了额外的用户:

回购的设置, 管理访问, 邀请合作者

这对我很有效。

我最喜欢这样做。

git push https://username@github.com/username/repo

这将提示输入密码,因此您不必在shell中以纯文本的形式编写密码。

我也遇到过类似的问题。我有一个工作用的github账户和一个私人账户。在我的mac上,我主要使用我的工作github。我无法说服git通过终端推送到我的私人回购。但当我使用github桌面时,它是有效的。

(我知道肯定有不同的方法,但上面的答案都没用,所以这是阻力最小的方法。)