git push后出现src refspec dev does not match any

今天在提交代码时git push xxx xxx 之后出现如下错误,记录一下

git push origin dev
error: src refspec dev does not match any

本人之前因为新建模块错误有删过项目重新再github上clone的经历,项目在github上有两个分支,dev和master

附上git拉取过程

git clone xxx

git pull origin dev

以上过程都是正常的

在修改完代码后我想提交

git pull origin dev

git add .

git commit -m"kevin update something"

git pull origin dev

上面的过程都是正常的

异常重现

git push origin dev

error: src refspec dev does not match any

在看了一些博客之后,了解到;

  • Git Reference简写为refs,是管理本地分支的

    • 1)本地分支的Reference格式:refs/heads/
      如refs/heads/master,在保证唯一的情况下可以简写为master
    • 2)远程追踪分支的Reference格式:refs/remotes/ /
  • Reference Specification简称refspec
    在执行push或fetch操作时,refspec用以给出本地Ref和远程Ref之间的映射关系

所以问题应该是出在了本地分支和远程当前分支不匹配上

查看当前本地分支

git branch 

发现当前只有master默认分支,而我提交的是到远程的dev分支

新建并切换分支

git checkout -b dev

Switched to a new branch 'dev'

git branch

* dev
  master

重新提交

git pull origin dev

git add .

git commit -m"xxx"

git pull origin dev

git push origin dev

成功提交

你可能感兴趣的:(git)