推送网站内容至gh-pages分支时Git推送失败问题求助
解决Git推送gh-pages分支被拒绝(non-fast-forward)的问题
先来看你遇到的具体错误信息:
! [rejected] 524585ce572db1fefbfb3a4b78c29ed721c92c47 -> gh-pages (non-fast-forward)
error: failed to push some refs to 'https://github.com/harp29/cervini-bhatia-pc.git'
提示:推送被拒绝,因为待推送分支的尖端落后于远程对应分支,请检出该分支并整合远程变更(例如执行'git pull ...')。
这个问题其实很常见,核心原因就是远程的gh-pages分支已经有了新的提交,版本比你本地的分支要新,Git为了避免覆盖他人的变更,就拒绝了你的推送请求。按下面的步骤一步步操作就能解决:
- 第一步:切换到本地的
gh-pages分支git checkout gh-pages - 第二步:拉取远程
gh-pages的最新变更并合并到本地
如果这一步遇到冲突,Git会明确告诉你哪些文件有冲突。你需要手动打开这些文件,找到标记git pull origin gh-pages<<<<<<<、=======、>>>>>>>的位置,保留你需要的内容后删除这些标记。解决完冲突后,执行以下命令确认:git add . git commit -m "Resolve merge conflicts with remote gh-pages" - 第三步:重新推送本地分支到远程
git push origin gh-pages
特殊场景:确定远程变更无需保留
如果你百分百确定远程gh-pages分支上的新提交都是无效的,可以强制推送覆盖远程分支,但这会永久删除远程的新内容,一定要谨慎操作:
git push origin gh-pages --force
内容的提问来源于stack exchange,提问作者Harpreet
相关产品推荐
相关产品推荐

