我使用以下内容克隆存储库:

git clone ssh://xxxxx/xx.git 

但在我更改一些文件并添加和提交它们之后,我想将它们推送到服务器:

git add xxx.php
git commit -m "TEST"
git push origin master

但我得到的错误是:

error: src refspec master does not match any.  
error: failed to push some refs to 'ssh://xxxxx.com/project.git'

当前回答

权限问题?解决方案:分叉

我收到这个错误是因为我没有对存储库的推送权限,所以我不得不分叉它,然后我在分叉的存储库上再次执行了pull、commit和push命令。

其他回答

如果你的分支机构名称中有一个拼写错误,因此你试图推送一些不存在的东西,这也可能发生!哈

在我的例子中,我实际上创建了一个名称不正确的分支(显然是偶然的),它被称为fetrare/<something>,并试图推送feature/<some东西>

大脑会将单词作为一个单元来阅读,因此有时两个单词看起来相同,但实际上并非如此!哈

只需确保分支机构名称中没有拼写错误!(或者更好地说,检查您要推送的分支是否与您在本地定义的分支相匹配,特别是如果您正在手动推送新创建的分支git推送源特性/<newBranch>)

这对我有用,将存储库重置为远程主存储库:

git checkout master
git commit -a -m "your comment"
git push origin master

我错过跑步时也遇到了同样的问题:

git add .

(必须至少有一个文件,否则会再次出现错误。)

缺少或正在跳过git add。或gitcommit可能会导致此错误:

git push -u origin master
Username for 'https://github.com': yourusername
Password for 'https://yourusername@github.com': 
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/yourusername/foobar.git'

要修复此问题,请重新初始化并遵循正确的顺序:

git init
git add .
git commit -m 'message'
git *create remote
git push -u origin master

我也收到了这个问题,但这是因为我在推送之前意外关闭了服务器。这也会导致同样的错误。