有没有办法在交互式rebase期间退回提交?
答案 0 :(得分:5)
不,马格努斯说。
然而,
rerere
(预先录制的冲突解决方案),这样他们就可以在后续合并时以相同方式自动解析。请注意,这意味着您必须记住下次要以不同方式解决的部分(可能是首先进行后退的目标?)因为 - 好吧,rerere假设您想要再次应用相同的分辨率如果你看一下rebase的实现,你或许可以找出GIT_WORK_TREE / GIT_DIR / GIT_INDEX的替代设置;那么你可以使用plumbing命令和reflog进行rebase-in-progress branch
?
--step-back
答案 1 :(得分:2)
没有。您可以 - 继续重新定位(例如,在解决了一些冲突之后), - abort(撤消和整个rebase过程)或--skip跳过当前补丁。
答案 2 :(得分:0)
实际上,即使您不进行交互式变基,您也可以。
正如johnb003在评论中提到的那样,在重新定基时,您实际上进行了一系列新的提交。通过执行诸如git log --pretty=oneline --abbrev-commit
之类的操作,您可以轻松查看通过重新基准已经完成的所有提交。只需复制其哈希以供以后参考。
然后git rebase --abort
,git rebase -i <base_branch>
,复制要保留的哈希,如果要修改它们中的任何一个,可以将其更改为edit
,然后继续