首页 > 解决方案 > git push 失败并带有 src refspec

问题描述

我正在尝试推送到 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 命令。

标签: gitgithubcontinuous-integration

解决方案


消息:

error: src refspec master does not match any.

意味着您的存储库中没有master分支。

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

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

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


推荐阅读