我正在尝试在同一台计算机上使用我的新github帐户。 当我使用'http'作为url时它会拒绝我的访问,但是,如果我使用'git @'它会很顺利。 谁能告诉我原因?
$git remote add origin http://github.com/curusr/CTCI.git
$git push origin master
remote: Permission to curusr/CTCI.git denied to prevusr.
但如果我做以下事情。
$git remote add origin2 git@github.com:curusr/CTCI.git
推动成功。 而且,如果我使用ssh,我会收到消息。 嗨curusr!您已成功通过身份验证,但GitHub不提供shell访问权限。
答案 0 :(得分:0)
看起来你已经将Git设置为在本地使用SSH,这就是为什么使用格式为git@github.com:<user>/<repo>.git
的网址时你可以使用它。
GitHub可能不允许在没有身份验证的情况下对repos进行推送(写入)访问,这可以解释为什么尝试使用HTTP url而不是HTTPS或SSH进行推送会失败。如果GitHub允许HTTP推送访问,那么 任何人 都可以将代码推送到您的远程仓库,而无需身份验证!