无法在新的gitrepo上推送到main

我是 git 的新手,并且在将 master 切换到 main 的更新之后创建了一个新的 github repo。

我遇到的第一个问题是,当我拉动时,git pull origin main什么也没有掉下来。当时,回购继续是 .gitignore、自述文件和许可证。我通过手动下载它们解决了这个问题。

但是,我无法推送到主要内容。当我尝试运行时,git push origin main我收到一条错误消息,并被 git 告知运行以下命令:git push --set-upstream origin master. 运行之后,我现在可以推送到 master 而不是 main。当我尝试运行时git push origin main,出现以下错误:

error: src refspec main does not match any
error: failed to push some refs to 'https://github.com/Ebony-Ayers/CS-style-text-format'

根据github网站上的repo main是我的默认分支,我该如何做到这一点,以便我可以推送到main而不是master?任何帮助将不胜感激。

回答

你当地的分支机构叫什么?git push origin main尝试调用您的本地分支main并将其推送到origin. 如果您没有名为 的本地分支main,则 git 将无法推送任何内容,这似乎就是您收到此错误的原因。您可以执行以下操作:

git checkout -b main
git push --set-upstream origin main

这应该可以纠正这个问题。

分解正在发生的事情:

git checkout -b main

此命令创建一个名为main. 它与您正在工作的分支相同(我假设master)。您可以通过运行git status并在打印的几行中检查分支名称应显示的分支,或者更清楚地git branch列出所有本地分支但突出显示您所在的当前分支。创建新分支时,任何本地更改(无论是暂存的还是未暂存的)也将保留,不会从工作目录中删除。

git push --set-upstream origin main

此命令推送到originGitHub 上远程存储库的名称,并推送main我们在上面创建的本地分支。这也将在 GitHub 中创建一个同名的新分支,并且该--set-upstream标志告诉 git 这origin main是您要推送到的默认远程/分支组合,您可以简单地运行git push,默认情况下它将推送任何本地更改main

一旦新main分支被推送,并且您确认一切都按预期存在,您应该能够master直接从 GitHub 中删除该分支。您还可以通过运行在本地删除分支:

git branch -D master

在确认master您需要的所有内容都在新main分支中之前,请确保不要删除本地或远程分支。这不应该是这种情况,但仔细检查永远不会有什么坏处。


以上是无法在新的gitrepo上推送到main的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>