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

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'

当前回答

再次检查您是否推送了正确的分支名称。我遇到了同样的错误,在查看git show ref之后,我能够看到我输入了错误,因此,没有ref。

其他回答

我收到这个错误,因为我的本地分支名称与我试图使用git push origin创建的新远程分支不匹配。

确保分支名称中没有不可见的拼写错误:

git branch

输出:

master
* <U+0096>your_branch_name

有一个不可见的<U+0096>字符,可能是通过粘贴分支名称到达的。

将当前分支重命名为正确的值,然后重试推送:

git branch -m your_branch_name

当您添加了文件,忘记提交和推送时,就会发生这种情况。所以提交文件,然后推送。

在我的例子中,出现在Windows上的问题似乎与我们在分支名称中添加前缀类似feature\有关。我们试图创建并推送一个具有这样前缀的分支(例如,feature\branch),但已经有一个不同的分支,其前缀为feature\(例如,feature\otherbranch)。这意味着在Windows上,新分支被放置在相同的refs\heads\Feature文件夹中。Git可能区分大小写,但Windows文件系统不区分大小写。一旦我们签出了名为Feature\branch的本地分支,它就起到了作用。

首先,gitadd。第二,gitcommit-m“message”第三,git推送原点分支

请检查拼写错误,因为这也可能导致错误。