使用git push --set-upstream向GitHub推送失败,无法自动创建远程仓库
无法通过SSH推送创建GitHub远程仓库的解决方法
核心原因
GitHub不支持通过Git命令(包括SSH方式)直接创建远程仓库,必须先在GitHub网页端手动创建空仓库(不要初始化README、.gitignore等文件),之后才能关联本地仓库推送。这是GitHub和GitLab在仓库创建逻辑上的明确差异。
正确操作流程
先在GitHub网页端创建空仓库
- 登录GitHub,点击右上角「+」选择「New repository」
- 填写仓库名
test,不要勾选任何初始化选项(比如「Add a README file」),直接点击「Create repository」
本地仓库关联并推送
回到本地仓库的终端,依次执行以下命令:git remote add origin git@github.com:USERNAME/test.git git push --set-upstream origin main
失败原因拆解
- 你之前直接用
git push --set-upstream git@github.com:USERNAME/test.git main报错,是因为GitHub上不存在对应仓库,Git推送命令没有权限在GitHub上新建仓库(GitLab额外实现了这个功能支持) - 就算手动添加了
origin远程地址,只要远程仓库未创建,推送依然会失败——普通Git命令无法调用GitHub的仓库创建API,必须先在网页端完成仓库创建
补充说明
你的SSH认证是正常的,克隆已存在仓库并推送也能成功,说明问题完全出在「未提前在GitHub上创建仓库」这一步,和SSH权限、本地Git配置无关。
内容的提问来源于stack exchange,提问作者signal corner
相关产品推荐
相关产品推荐

