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

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不允许推送空目录。这里有一个简单的解决方案。

在要推送到远程的目录中创建文件.gitkeep,并从命令行提交“空”目录:

touch your-directory/.gitkeep
git add your-directory/.gitkeep
git commit -m "Add empty directory"

对我来说,只需签出我希望代码推送的分支,然后简单地推送您的代码。

git checkout -b branchname-on-which-i-will-push-my-code

git add .
git commit -m "my commit message"
git push origin branchname-on-which-i-will-push-my-code

我以前也遇到过同样的问题。问题出在我当地分行的名字上。它与我试图推动的不同。将分支名称更正为目标名称后,我能够推动更改。

记住本地分支和目标分支应该相同。

在我的例子中,fastlane match nuke开发(它从git凭证存储和开发者门户中删除开发证书和配置文件)试图推送master,但我们没有master。由于我们有两个不同的团队,我们也有两个分支机构。解决问题的方法是打电话告诉match正确的分支:

fastlane match --git_branch <your_branch> nuke development

首先,确保您使用的是master分支。在我的案例中,分支是主分支而不是主分支。所以我做的是

git push origin main

你可以在这张照片中看到结果