本地git 仓库关联github仓库后无法push
在Github上新建一个仓库后有以下指导
…or create a new repository on the command line echo “# learn_git” » README.md git init git add README.md git commit -m “first commit” git remote add origin https://github.com/hcz017/learn_git.git git push -u origin master …or push an existing repository from the command line git remote add origin https://github.com/hcz017/learn_git.git git push -u origin master
现在的情况是本地有一个已经存在的仓库,但是push不到github上。
1.先删掉以前关联的的远程仓库
$ git remote remove origin
2.添加新的远程仓库地址
$ git remote add origin https://github.com/hcz017/learn_git.git
3.push本地代码到远程
$ git push -u origin master
这时候就报错了
$ git push -u origin master
error: src refspec master does not match any
试了好几次都这样,google也没查到解法,一般别人是因为本地没有代码才会有这个提示,但我现在本地有代码啊。
忽然意识到,可能是因为我没有master分支?(因为我本来就没有master分支,我一开始checkout出来的就是dev分支)
如果说指定了master分支的话,那我确实也可以算本地没有代码。检查一下我本地还真没有master分支。
本地新建一个master分支之后在push就成功了。
$ git checkout -b master
$ git push -u origin master
其实这是一个很低级的错误。就是对命令不熟悉,只知道照抄,加上我一开始没注意到本地分支名不是master。
可以看下面的解释
$ git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
更多git内容可参考Git远程操作详解