从现有项目创建Git仓库时git push报错src refspec master不匹配如何解决
问题根因
你遇到的三个异常现象本质都是Git本地仓库未完成初始化提交、未正确关联远程仓库导致:
- 执行
git init后默认不会自动关联远程仓库,因此终端不会显示master->origin的关联标识 - 本地仓库没有任何提交记录时,master分支处于未创建的悬空状态,因此
git branch无输出 - 本地不存在实际的master分支引用,推送时就会触发
src refspec master does not match any报错
分步解决步骤
- 首先关联本地仓库与远程仓库,替换下方命令中的远程仓库地址为你自己的仓库地址即可:
git remote add origin git@github.com:BghAek/something.git
执行git remote -v可以验证关联是否成功,成功会输出两条对应fetch、push的远程地址记录。 - 将需要提交的文件添加到Git暂存区,提交所有文件可以执行:
git add .
如果仅需要提交指定文件,把.替换为对应文件名即可。 - 执行提交操作生成本地master分支:
git commit -m "init: 首次提交"
提交完成后执行git branch即可看到master分支输出,终端分支标识也会正常显示。 - 执行推送命令绑定远程分支并推送代码:
git push -u origin master
加-u参数的作用是绑定本地master与远程master分支,后续推送直接执行git push即可。
异常排查补充
如果按照上述步骤操作仍有报错,可以核对以下两种常见情况:
- 若远程仓库默认分支名为
main而非master,可以先将本地分支重命名后再推送:git branch -M maingit push -u origin main - 执行
git status确认暂存区有文件被成功追踪,空暂存区无法完成提交,也会导致分支无法创建。
内容的提问来源于stack exchange,提问作者Amro Elkeran
相关产品推荐
相关产品推荐

