10

我可能遗漏了一些东西,但我确信我已经检查了所有内容,我分叉了一个 repo 并将其克隆到我的系统上,提交后做了一些更改git push origin master

它说

fatal: remote error: 
  You can't push to git://github.com/my_username/my_repo.git
  Use git@github.com:my_username/my_repo.git

我错过了什么吗?然后我尝试了 git remote add origin https://github.com/my_username/my_repo.git

它回来了

致命:远程来源已经存在。

我不明白为什么会这样,请帮忙

4

3 回答 3

23

网址与

git://github.com/my_username/my_repo.git

git:// 也只提供只读访问权限,如侧面所述..

在此处输入图像描述

然而,

git@github.com:my_username/my_repo.git

提供站点中提到的读写访问权限

在此处输入图像描述

虽然,https://github.com/my_username/my_repo.git也具有读写访问权限,但它不适用于您的情况,因为您尝试创建一个具有相同名称的新遥控器而不是重置它。提到的正确语法是

git remote set-url origin git@github.com:my_username/my_repo.git

git remote set-url origin https://github.com/my_username/my_repo.git

也可以。

于 2012-06-19T13:32:11.300 回答
5

git remote set-url origin git@github.com:my_username/my_repo.git

于 2012-06-19T12:45:22.090 回答
0

这不起作用的原因是,您选择用于克隆的 git:// 协议仅配置为在 Github 上进行读取访问(因为它仅支持无访问限制的匿名写入访问)。
Github 支持 ssh (git@github.com...) 和 https 对存储库的写访问。

您的第二个命令失败,因为当您克隆时,git 已经创建了一个名为 origin 的远程。因此,如果要添加另一个远程存储库,则必须提供另一个名称。

于 2012-06-19T13:22:09.153 回答