我正在尝试推送到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命令。
答案 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
以外的分支。因此,如您所见,有很多方法可以进入这种状态。无法确定您使用了哪一个,只是您实际上处于这种状态。