我尝试将我的更改推送到GitHub两天,我读了几十个讨论,但它仍然无效。我认为我做了一些根本错误的事情,否则我无法解释。在使用SubVersion需要30秒的活动失去十个小时之后,我感到很生气。
最初我从Intellij Idea开始克隆此网址:https://github.com/hhru/subscribe.git。但是推送不起作用,访问被拒绝。我尝试了Pushing to Git returning Error Code 403 fatal: HTTP request failed,将repo更改为svn,创建了SSH密钥,使用plink和home更新了windows环境。我能够测试ssh连接,但推送仍然无法正常工作。在经过另一次尝试之后,我打破了它,甚至无法进行更改。
然后我卸载了git并为windows安装了github,找到了我的存储库,它显示了一个提交同步。它再次失败并告诉我运行git cmd。好的,我再次搜索并运行git status
- 在存储库前面提交一次。但git push
再次因403错误而失败。
然后我从GitHub for windows中删除了存储库,并在GitHub web中单击了 Clone id desktop 按钮。我有新的克隆没有变化 - 没有什么可以同步。我在新项目中打开了git命令行并再次运行git push
:
C:\dev\GitHub\subscribe [master]> git push
remote: Permission to hhru/subscribe.git denied to ba6a24dc485381dfe92d13800d0315c132787d30.
fatal: unable to access 'https://github.com/hhru/subscribe.git/': The requested URL returned error: 403
C:\dev\GitHub\subscribe [master]> git status
# On branch master
nothing to commit, working directory clean
我真的不明白。我认为GitHub是开放的,我不需要请求提交拉取请求的许可。但似乎我没有特权。或者还有什么可能是错的?我感到非常绝望: - (
答案 0 :(得分:5)
听起来你遇到的麻烦就是你认为你可以直接推送到hhru/subscribe
而无需提交对该存储库的访问权限。虽然任何人都可以从GitHub克隆或分叉您的代码,但只有您提供存储库的人才能直接在存储库中更改它。
要发出拉取请求,您需要先拆分存储库,将更改推送到自己的存储库,然后从GitHub网站创建拉取请求。
GitHub文档的Fork A Repo和Using Pull Requests部分解释了如何完成此操作。
答案 1 :(得分:1)
如果您错误地单击repo上的克隆此存储库按钮而不是先选择fork,则似乎存在问题。在这种情况下,您正在处理实际repo的代码,而不是您自己的fork。
将repo分支到您自己的github帐户并克隆该repo。然后将您的更改复制(或推送)到您自己的仓库,您应该没问题。