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

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'

当前回答

在删除本地计算机上的所有文件后,我也出现了类似的错误,我必须清理存储库中的所有文件。

我的错误消息如下:

error: src refspec master does not match any.
error: failed to push some refs to 'git@github ... .git'

通过执行以下命令解决了问题:

touch README
git add README

git add (all other files)
git commit -m 'reinitialized files'
git push origin master --force  # <- caution, --force can delete others work.

其他回答

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

同时检查是否更改了分支名称

对我来说,我已经将分支名称从添加状态条件更改为添加状态条件,但没有注意到末尾缺少的s。正确重命名了分支,git推送原点添加了状态条件-f。

这对我有用。

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

简短回答:此错误意味着您要在远程推送的分支不存在!

在我的案例中,从2020年10月开始,此后创建的回购协议拥有主分支,而不是之前的主分支。所以我要做的就是:

git push -u origin main 

如果设置了上游,则可以跳过-u标志(就像您已经克隆了它一样)

答对 了这对我有用!希望这有帮助!编码愉快!

这对我有用:

只需签出主分支:

git checkout -b master
git add .
git push origin master

或者使用——强制改变。

git push origin master --force