git push解决 error src refspec master does not match anyerror
前言
git push origin master
git push
时报错:
error: src refspec master does not match anyerror: failed to push some refs to 'https://gitee.com
这个错误可能是由不同原因引起的。
最有可能出现这种错误的原因是,master
分支不存在。
也许你克隆了一个新的仓库,默认的分支是 main
,所以当你试图推送时,没有 master
分支。
你可以用 git branch -b
命令来显示连接到本地仓库的远程分支,像这样:
git branch -b
# results
# origin/main
# origin/feat/authentication
# origin/other branches ...
在上面的结果中,你可以看到没有 master
仓库(origin/master
)。所以当你试图推送到该仓库时,你会得到 “respec error”。
这个结果也适用于任何其他不存在的分支。比方说,我做了一些修改,并推送到一个不存在的远程 hello
分支:
git add .
git commit -m "new changes"
git push origin hello
该命令将产生以下错误:
error: src refspec hello does not match any
如何修复 “src refspec master does not match any” 错误
现在你已经知道 master
分支并不存在。解决这个错误的办法是,要么建立一个本地和远程的 master
分支,以便推送提交,要么将提交推送到一个现有的分支——也许是 main
。
你可以在 Git 网站(比如 GitHub)上创建一个远程 master
分支,也可以像这样直接在终端上创建:
git checkout -b master
# add commit
git push origin master
这些命令将在本地创建一个 master
分支。而通过推送到 origin master
,也会在远程创建 master
分支。
但如果你不想创建一个 master
分支,你可以使用现有的默认分支(可能是 main
)来代替。
git push origin main