如何解决git push 命令与 master 和 main 冲突
当我在终端上运行 git push -u origin main
时,它显示 error: src refspec main does not match any.
但是当我运行 git push -u origin master
时,它工作正常,并且在存储库中创建了另一个 master
分支以及默认的 main
分支,并且总分支数将为 2。
此时,我无法做 PR 将 master
合并到 main
并且错误消息是 there's no diff between master and main branches.
谁能解释这种情况并给我一个可行的解决方案?非常感谢您的支持。
解决方法
听起来您的本地分支称为 master
,而远程分支称为 main
。您有两个选择:
-
重命名您的本地分支:
git checkout master git branch -m main git push -u origin main
-
将您的本地分支推送到不同名称的远程分支:
git push -u origin master:main
实际上执行此操作并不难。我发现当我们初始化一个新的 GitHub 项目时,它会自动创建 main
漏洞作为默认分支。
然后我们可以使用以下命令将我们现有的项目推送到 GitHub。
git init
git add <file-name>
git commit -m "msg"
git remote add origin <remote-URL>
接下来,在转到 git push
命令之前,让我们运行 git branch
命令来检查可用的分支。
git branch
显示本地分支,而 git branch -r
显示远程分支。
这是我的输出。
randiltennakoon@Randils-MacBook-Pro test_bmi_app % git branch
* master
randiltennakoon@Randils-MacBook-Pro test_bmi_app % git branch -r
您可以看到 git branch -r
命令还没有输出。但它将 master
显示为本地分支。
然后我们需要运行下面的命令将master
移动到main
git branch -m master main
然后您可以运行 git push
命令以及 -f
标志,如下所示。
git push -u -f origin main
然后它会将您的更改推送到远程 main
分支,您可以通过转到您在 GitHub 中的存储库进行验证。
然后您可以发出以下命令进行验证,效果很好。
git branch
git branch -r
或
git branch -a
,
也许你只需要提交。请运行以下命令;
git add .(不要忘记末尾的点)
git commit -m "初始提交"
git push origin main
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。