(一些重要的背景):我是我工作的github回购的拥有者。对于这个例子,我将其称为“组织/组织”
因此,我创建了一些个人的,侧面项目代码,然后决定将其推向新的回购。我在github.com上创建了一个新的回购。然后做了:
git init
git add -A
git commit -am "first commit"
git remote add origin git@github.com:fakename/testapp.git
git push -u origin master
一切正常,直到最后一个命令:
git push -u origin master
然后我收到此错误:
ERROR: Permission to fakename/testapp.git denied to organization/organization.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
为什么git认为我是一个组织?!?!这是我的配置:
user.name=Mad Jon
user.email=personalemail@hotmail.com
core.ignorecase=false
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
core.precomposeunicode=false
remote.origin.url=git@github.com:fakename/testapp.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
我与我的组织没有任何关系。我不知道为什么它认为我是它。但我希望它强迫它认为我是普通用户。不是组织。
答案 0 :(得分:2)
使用ssh url(如git@github.com:fakename/testapp.git
)时,最可能的解释是你没有定义新的ssh密钥,并使用适当的~/.ssh/config
file来向Git声明什么是ssh密钥使用。
你的ssh网址会变成:
mysecondrepo:fakename/testapp.git
使用ssh配置文件,如:
Host mysecondrepo
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_mysecondrepo
有关多个ssh密钥管理的更多信息,请参阅“How to work on personal GitHub repo from office computer whose SSH key is already added to a work related GitHub account?”。
当然,切换到https网址(如commented by the OP)有效:
https://fakename@github.com/fakename/testapp.git
它会强制您识别您的帐户 但它无法解决ssh配置问题。