当git push到远程仓库分支上 时发生错误 error: src refspec master does not match any. error: failed to push some refs to
当本地代码码好之后需要上传到远程仓库的dev分支时,git push到远程仓库分支上 时发生错误: error: src refspec master does not match any. error: failed to push some refs to,例如:
如果将码好的代码上传到远程仓库的主分支master时,如果master没有做限制的话可以上传成功,例如:
在网上搜索了很多的解决方法,很多相关解决办法都是最后要 push 到远端的主分支master 上,但很多其实要求不能把个人的修改内容直接 push 到 master 主分支,而是先推送到其他分支。
因此,当我想将本地仓库 master 分支的修改内容 push 到远端 develop 分支时,执行了:
git push origin develop
但是发生了错误,错误提示为:
error: src refspec dev does not match any. error: failed to push some refs to 'https://gitlab.geely.com/F-QCDS/test-lab/test-lab.git'
最后发现问题是 git push 指令的格式为:
git push [remote-name(通常为 origin)] [branch-name(远程仓库的分支名)]
当将本地分支 push 到远端同名的分支时,branch-name 只需要写一个分支名就可以(如直接克隆远程分支后修改再push)
git push origin dev
- origin:远程仓库的名称
- dev:远程仓库的分支名称【本地仓库有同名分支】
但当要 push 到的远端分支名不同于本地分支名时,需要使用 git push origin [本地分支名:远端分支名],因此,在上述出错情况下,改为执行
git push origin dev:master
- origin:远程仓库的名称
- dev:远程仓库的分支名称【需要推送代码至的分支】
- master:本地代码分支【需要将此分支代码推送到远程分支上】
去期待陌生,去拥抱惊喜。