错误:源引用规范main与任何内容都不匹配。

3
我有一个名为master的本地分支,其上游设置为origin/main
但是每当我使用git push -u origin main推送到远程仓库时,它会显示错误:

error: src refspec main does not match any error: failed to push some refs to

但是当我使用git push -u origin HEAD:main时,它可以正常工作。
那么问题出在哪里呢?

3个回答

6

git push origin main 的意思是“推送本地分支main”,但你没有本地分支main,你有的是master。在第一次使用 git push -u origin master:main 之后,你应该使用 git push origin 或者甚至只用 git push 来进行推送。或者继续使用 git push origin master:main 进行推送。


1
...或将本地的master重命名为main,或者... :-) - torek

0

当你尝试推送本地仓库时,出现这个错误是因为你要推送的分支不存在。

"error: src refspec main does not match any" - 这意味着,在源中找不到名为 "main" 的分支。

所以,创建一个分支,像这样:

git push --set-upstream origin [branch name]

在这种情况下:
git push --set-upstream origin master

这将创建一个名为“master”的分支,并将更改推送到该分支。


-2
尝试以下命令。它会改变原点。
git remote add origin https://github.com/username/repo.git

然后验证远程 URL 是否正确:
git remote -v

然后推送到仓库
git push origin master

这并没有回答问题,问题是关于主/主分支名称不匹配,而不是关于起源URL的。 - joanis

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