当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:本地代码分支【需要将此分支代码推送到远程分支上】
posted @ 2021-06-03 09:49  习久性成  阅读(1373)  评论(0编辑  收藏  举报