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

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 init
git add .
git commit -m 'message'
git push -u origin master

其他回答

尝试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推送就非常成功。

也许你只需要承诺。当我这样做的时候,我遇到了:

mkdir repo && cd repo
git remote add origin /path/to/origin.git
git add .

哎呀!从未承诺!

git push -u origin master
error: src refspec master does not match any.

我所要做的就是:

git commit -m "initial commit"
git push origin main

成功

检查当前分支是否仅为主分支。我面临同样的问题,我的分支是主要的。因此,运行以下命令为我完成了工作:

git推送原点main。

我也遵循了GitHub的指示,如下所示,但我仍然面临着OP提到的同样的错误:

git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master

对我来说,我希望这对一些人有所帮助,我在MacOS上推送了一个大文件(1.58 GB磁盘)。在复制粘贴上面建议的代码行时,我并没有等到处理器真正完成添加。过程因此,当我键入gitcommit-m“message”时,它基本上没有引用任何文件,也没有完成将代码成功提交到GitHub所需的任何操作。

证明这一点的是,当我键入gitstatus时,通常会为添加的文件使用绿色字体。但所有的东西都是红色的,好像根本没有添加。

所以我重新调整了步骤。我键入了gitadd。并等待文件完成添加。然后我完成了接下来的步骤。