Git交互式变基合并提交后推送远程分支失败,如何解决?
解决Git Rebase后Push失败的问题
你通过git rebase -i合并提交的操作重写了本地分支的提交历史,导致远程分支的提交记录和本地当前的历史完全不匹配,Git因此拒绝了普通推送(因为这不是快进式更新)。
解决方案分两种情况:
仅你一人使用该feature分支:
直接用安全的强制推送覆盖远程分支,避免意外覆盖他人提交:git push --force-with-lease feature/feature1相比单纯的
--force,--force-with-lease会先检查远程分支是否有未同步的他人修改,更安全。该分支有其他协作者:
强制推送会覆盖他人工作,此时需要先整合远程最新修改:- 拉取远程分支并基于其进行rebase:
git pull --rebase origin feature/feature1 - 解决可能出现的冲突,完成rebase后再推送:
git push origin feature/feature1
注意:公共协作分支不建议随意重写提交历史,操作前最好和团队沟通确认规范。
- 拉取远程分支并基于其进行rebase:
内容的提问来源于stack exchange,提问作者Naveen
相关产品推荐
相关产品推荐

