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

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 checkout master
git commit -a -m "your comment"
git push origin master

其他回答

这对我有用:

只需签出主分支:

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

或者使用——强制改变。

git push origin master --force

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

git add --all

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

 git commit -m "First commit"

然后

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

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

git push -u origin master

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

更新以前的答案。

此外,别忘了github已经将“Master”更改为“Main”,因此请确保您通过以下方式进行推送:

git push origin main

2021 3月,Git 2.31:

空GitHub存储库的git克隆将创建一个本地存储库,其中“main”作为默认分支,即使在master上设置了init.defaultBranch!

GitHub支持的Git transfert协议v2将向客户端传递Git clone创建的本地Git存储库的远程默认分支(现在是GitHub的主分支)的名称。

这意味着添加和提交新的提交将在“main”分支上完成,即使Git客户端仍然将master作为默认分支。

下一次推送时,不再出现“src-refspec-master不匹配任何”。

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

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

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

git checkout branch-name

然后对代码进行更改

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

git push -u origin branch-name

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

git branch -M main

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

git push -u origin main