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

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添加。gitcommit-m“初始提交”git推送原始主机

这对我有用。

其他回答

git push-u原始主机

error: src refspec master does not match any.
error: failed to push some refs to 'http://REPO.git'

这是由于存储库仍然是空的。存储库中没有提交,因此没有主分支可以推送到服务器。

这对我有用

决议

1) git init
2)git commit -m "first commit"
3)git add app
4)git commit -m "first commit"
5)git push -u origin master

这个问题主要有两种可能性。让我们逐一考虑一下。

可能是错误,主分支甚至不存在。在我的例子中,它被命名为main,而不是master。在这种情况下,您需要用main替换master。您甚至还没有提交更改。如果是这种情况,请转到-->

git添加。gitcommit-m“初始提交”git推送原点<branch>

那么它应该会起作用。

尝试一下,会很好。:)

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

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

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

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

我遇到了同样的问题,我使用了--允许空:

$ git commit -m "initial commit" --allow-empty
...
$ git push
...

补充

这个问题的一个主要原因是,在克隆新的存储库时,一些Git服务器(如BitBucket)没有初始化其主分支。

对我来说,以下操作可以移动未跟踪的文件:

git add --all

接下来,我遵循了类似的步骤

 git commit -m "First commit"

然后

git remote add origin git@github.....

最后但并非最不重要的是:

git push -u origin master

当您执行此操作时,Windows安全将弹出窗口,询问您的用户名和密码。