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

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'

当前回答

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

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

其他回答

在我的例子中,我克隆了一个存储库,但我没有切换到本地分支。

我通过这样做解决了这个问题:

在对代码进行更改之前,应执行以下操作:

git checkout branch-name

然后对代码进行更改

之后,将代码推送到分支:

git push -u origin branch-name

此外,如果您第一次将本地存储库推送到GitHub,则需要首先创建一个主分支:

git branch -M main

然后,在添加原点(或给遥控器取的任何名称)后,按下分支:

git push -u origin main

截至2020年10月1日,GitHub正在将主分支的名称更改为main。这就是导致问题的原因。当有人键入git push origin master时,他们会看到此错误错误:src refspec master与任何错误都不匹配:未能将某些ref推送到'https://github.com/username/reponame.git'

这可以通过使用git push origin main来解决。希望这有帮助。我花了很长时间才弄明白为什么我不能将我的承诺提交给主分支。

尝试git show ref,看看你有哪些ref。有裁判/主管/主管吗?

由于最近的“在GitHub中用main替换master”操作,您可能会注意到有一个refs/heads/main。因此,以下命令可能会从gitpushoriginHEAD:master更改为gitpushorigin HEAD:main

您可以尝试git push origin HEAD:master作为一个更独立于本地引用的解决方案。这明确表示您希望将本地ref HEAD推送到远程ref master(请参阅git push-refspec文档)。

在我Git只添加了一个目录之后,我发现这发生在一个全新的存储库中。

一旦我添加了一个文件(例如README),Git推送就非常成功。

如果您是第一次使用Git,则需要配置Git安装,包括:

git config --global user.email "you@example.com"

git config --global user.name "Your Name"