首页 > 解决方案 > Git:无法推送到远程主分支

问题描述

我已经在本地创建了我的项目并使用默认创建的分支“master”初始化了 .git。历史:

> git init
> git add --all
> git commit -m "initial set up"
> git remote add origin https://github.com/me/APP-REPO.git
> git remote -v
> git push origin main
error: src refspec main does not match any
error: failed to push some refs to 
> git branch
* master
> git push -u origin main
error: src refspec main does not match any

但是,在 Github 上创建的 repo 具有默认分支“main”。怎么能直接推送到“main”?为什么我在本地看不到那个分支?

先感谢您!

标签: git

解决方案


您的第一个错误发生在这里:

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

因为您尚未将分支名称修改mastermainwith git branch -M main

因此,运行git push -u origin master会起作用,但它会创建一个master在远程存储库中调用的分支名称。但是如果你想让你的主人默认,事情会变得有点烦人,所以git branch -M main如果可能的话,你应该首先。

阅读评论部分,您似乎已将分支名称更改mastermain并在运行时遇到了另一个错误git push -u origin main

在我看来,您已经使用 README 或其他一些内容初始化了一个远程存储库。因此,通常您可以git pull --rebase <your-remote-repo-url>获取远程更改并将其重新定位到本地存储库。

完成所有这些之后,您应该能够git push -u origin main

但是如果你从头开始,你可以简单地在 GitHub 上开始一个新的 repo,而不需要任何初始文件,复制 url git branch -M main、、、git remote add origin <remote-url>git push -u origin main.


推荐阅读