错误:源参考规范master与任何内容都不匹配。

85

我尝试按照这篇帖子中提出的解决方法,但它没有起作用,我仍然收到错误信息:src refspec master does not match any。

这是我所做的: 按照这个解决方案。

// adding the file I created
$ git add .
$ git commit -m 'initial commit'
$ git push origin master
error: src refspec master does not match any.

当做:

$ git push origin HEAD:master
b40ffdf..a0d1423  HEAD -> master // looks promising

// adding a remote
$ git remote add devstage -f <another git>
$ git merge devstage/master -s recursive -X ours
$ git push -u devstage master
error: src refspec master does not match any.

更多信息:

$ git branch 
* origin

$ git show-ref
refs/heads/origin
refs/remotes/devstage/master
refs/remotes/origin/HEAD
refs/remotes/origin/devstage
refs/remotes/origin/master
refs/remotes/origin/origin

所以我肯定缺少refs/heads/master,但不知道如何创建它。

谢谢


你是如何创建你的代码库的?你创建了哪个文件? - Michael Ver
@MichaelVer:git克隆 https://<用户名称>@bitbucket.org/<我的代码库> - special0ne
2
最近Github将git push origin master更改为git push origin main - Vintage Coder
这是一个重复的问题 Git: Message https://dev59.com/vm855IYBdhLWcg3wuG0M - Vintage Coder
27个回答

2

确保如果你正在推送主分支,那么请确保你当前在主分支上,如果不是,请切换到主分支,然后提交你的更改。要列出工作目录中的所有当前分支,请使用以下命令:

git branch 

你当前工作的分支应该以一个星号开头,比如如果我正在使用devstage分支进行工作,则会显示如下:

*devstage
master

在这种情况下,首先在devstage分支中推送提交记录,然后执行git pull请求,如果您想合并两个分支即master和devstage。请注意,不要删除HTML标签。

2
在我的情况下,错误是因为我在develop分支上打字时输入了git push origin master。请尝试使用git push origin branchname。希望这对某人有所帮助。

2

当您从一个分支克隆存储库并尝试将更改推送到另一个分支时,会出现此错误。请确保您在尝试推送的分支与该分支相同。如果不同,请使用 git clone -b <branchname> <remote-repo-url> 从该特定分支再次克隆您的存储库,然后重试推送更改。


2

这种情况曾经发生在我身上,当时我忘记添加文件,所以出现了相同的错误。你需要做的就是添加你的文件。

  1. 添加你的文件 => git add . 或者是你想要添加的文件名。在执行这个命令之前,你应该先使用 git init 初始化你的仓库。
  2. 提交你的更改 => git commit -m 'Initial Commit'
  3. 现在推送你的更改 => git push -u origin master

1

请确保您从所需的目录(文件所在的位置)调用git命令。


1

我最近也遇到了同样的问题,但现在已经解决了。 因为GitHub现在将主分支从master改为main。对我来说很有效。 请使用git push origin main而不是git push origin master 希望这样可以解决问题。


1
这种错误通常是由分支名称中的拼写错误引起的。
例如,您在分支adminstration上,并希望调用:git push origin administration
请注意,您现在位于没有第二个i字母的分支上:admin(i)stration,这就是为什么Git阻止您推送到不同分支的原因!

1

只是因为您本地分支与远程存储库中的分支不匹配。 git push origin HEAD:master 使您能够忽略冲突并上传您的提交。


1
在git配置中设置用户名和密码
在终端中,输入以下命令:
vi .git/config

编辑url,使用


url = https://username:password@github.com/username/repo.git

输入 :wq 保存


0

我也遇到了同样的错误。 在我的情况下,以下是场景。

我有一个设置为origin的主分支。

另一方面,我有一个名为“Release_branch”的发布分支。

我必须从发布分支中fork我的功能分支(即feature/testBranch)。

以下是我所做的步骤。

$ git checkout Release_branch
$ git pull
$ git checkout feature/testBranch
$ git commit -m "SOME_MESSAGE"
$ git push -u origin feature/testBranch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接