git push与src refspec失败

时间:2019-02-06 23:16:29

标签: git github continuous-integration

我正在尝试推送到github,但是由于以下错误而失败

error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/****'

我尝试设置

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git push -u origin master

仍然没有成功。

我正在通过cygwin在Windows上运行git命令。

1 个答案:

答案 0 :(得分:2)

消息:

error: src refspec master does not match any.

表示您在存储库中没有master分支。

这在新的空存储库中是正常的,因为新的空存储库没有提交,并且有效的分支名称必须指向现有的提交。在总提交数为零的情况下,没有有效的提交可识别任何分支名称,因此没有分支名称。

尽管缺少任何分支名称,但您仍然在这个新的空存储库中(不存在)master分支上。创建提交将创建您所在的分支,现在一切正常。

如果确实有一些提交,则基于错误,您仍然没有master。进入此状态要困难一些,但要困难一些:例如,您可以创建一个空的存储库,使用git checkout -b将当前分支名称设置为master以外的名称,然后进行您的第一次提交。这将创建除master之外的其他分支。或者,您可以使用现有的存储库,从名称master切换开,然后让Git完全删除名称master,此后您将不再拥有master。或者,您可能已经使用git clone --single-branch并选择了master以外的分支。因此,如您所见,有很多方法可以进入这种状态。无法确定您使用了哪一个,只是您实际上处于这种状态。