首页 > 解决方案 > 变基后 git checkout 到原点

问题描述

情况是这样的:我有一个旧分支branch1master我想更新它,所以我重新branch1建立了基础master,这花了我一个小时来修复冲突。在变基后我仍然没有强制推动分支,但现在我需要在变基branch1之前进行 bach 而不失去我所做的变基工作(比如重置--hard origin/branch1)。

有什么建议么?

标签: gitversion-controlrebase

解决方案


理论上的答案是git rerere应该处理它。

从文档

在使用相对较长生命周期的主题分支的工作流中,开发人员有时需要一遍又一遍地解决相同的冲突,直到主题分支完成(合并到“发布”分支,或者发送出去并接受上游)。

此命令通过在初始手动合并上记录冲突的自动合并结果和相应的手动解决结果并将先前记录的手动解决方案应用于其相应的自动合并结果来协助开发人员完成此过程。

为避免意外,我建议创建一个新分支。

git checkout -b branch1rebased

返回分支1

git checkout branch1
git reset --hard origin/branch1

修复并尝试变基。

一切顺利,不需要做其他事情。冲突的噩梦中止变基并返回上一个分支

git rebase --abort
git checkout branch1rebased

樱桃选择你的修复

git cherry-pick branch1

修复是否需要冲突


推荐阅读