前言

这两天在部署自己的GitHub,尝试使用git上传本地文件夹至GitHub远程仓库,在最后push的时候出现报错

error: src refspec main does not match any 
error: failed to push some refs to [url]

查阅了一些资料后终于解决了,具体过程如下。

上传步骤

先简单对我上传的步骤做一下如下总结。

  1. 我要上传es6文件夹,在该文件夹所在目录下,右键,点击Git Bash Here。
  2. 然后依次进行如下操作
#初始化
git init
#把根目录下es6文件夹里的所有文件添加到暂存区
git add ./es6/
#提交到本地仓库 m表示本次提交的信息
git commit ./es6/ -m "updata"

#关联github远程仓库,其中url从仓库页面的SSH处获取
git remote add origin [url]
#与远程仓库进行代码合并,main是远程分支
git pull --rebase origin main
#上传本地代码
git push -u origin main

报错处理

在最后一步push的时候报错,说没有main这个分支,但是我检查了我的GitHub默认分支确实命名为main:
在这里插入图片描述
出现这个问题的原因是:
在我们执行 git init 的时候,git客户端为我们创建了一个名为master的默认分支,但是远程仓库上却没有master分支(默认分支为main).

解决方案 A,如果你想把分支命名为 master:
运行 git push -u origin master 而不是 git push -u origin main

解决方案B ,如果你想把分支命名为main:
在git push -u origin main之前运行git checkout -B main

完美解决~

参考StackOverflow问题:链接

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐