如何git push到Github的main分支
Github上新建的仓库只有一个main分支,也是默认分支。新创建完的仓库会有一个页面,引导用户将本地文件或仓库push到Github上。
如果是正在开发中的项目,已经有一些本地文件,需要本地初始化仓库并push到远程,按照引导页面提交会遇到一个错误,导致push失败。
$ git push -u origin main
To https://github.com/xiaoheige/VRTemplateUE53.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'https://github.com/xiaoheige/VRTemplateUE53.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
这时需要先将远程main分支合并到本地,因为在GitHub创建仓库的时候,创建了 .gitignore
文件,已经产生了一条备注为“Initial commit”的commit。
$ git merge remotes/origin/main
fatal: refusing to merge unrelated histories
会有一个fatal错误,拒绝合并不相关的历史,可以添加 --allow-unrelated-histories
参数忽略错误,继续合并。
$ git merge remotes/origin/main --allow-unrelated-histories
自动进入文本编辑器,:q
退出即可完成合并。
然后执行push即可。
$ git push -u origin main
我在这一步执行push的时候,因为网络原因失败了,有一个很隐蔽的报错,没看到,到Github上怎么刷新也看不到提交的内容。
后来发现错误重新执行push成功了。