正在执行复杂rebase时,能否暂存操作以切换至develop分支修复问题?
暂停Rebase并后续恢复的方法
完全可以暂停当前的rebase操作,处理完develop分支的修复后再继续,具体步骤如下:
方式一:暂存当前修改(适合有未提交的冲突修复内容时)
- 执行
git stash,把当前工作区和暂存区的修改暂存起来,避免切换分支时出现冲突 - 切换到develop分支:
git checkout develop - 完成小修复后,提交修改:
git add .→git commit -m "修复xxx问题" - 切回正在rebase的原分支:
git checkout <你的原分支名> - 恢复暂存的修改:
git stash pop - 继续之前的rebase操作:
git rebase --continue
方式二:创建临时分支保存进度(适合想完整保留rebase当前状态时)
- 处于rebase的分离HEAD状态时,创建临时分支保存当前进度:
git branch temp-rebase-progress - 切换到develop分支:
git checkout develop - 完成修复并提交
- 切回临时分支:
git checkout temp-rebase-progress - 继续rebase:
git rebase --continue - 待rebase完成后,删除临时分支:
git branch -d temp-rebase-progress
补充说明
如果当前rebase没有未提交的修改(比如刚执行完git rebase --continue还没遇到下一个冲突),可以直接切换到develop分支,处理完修复后切回原分支,执行git rebase --continue即可继续之前的进度,Git会自动保留rebase的状态信息。
内容的提问来源于stack exchange,提问作者Juh_
相关产品推荐
相关产品推荐

