误在检出的历史提交上提交,如何移至main分支且无合并记录?
迁移误分支的Git提交到main分支(无合并记录)
你可以通过**变基(rebase)**操作将那两个redesign提交移到main分支,同时保持历史线性,不会留下合并记录,具体步骤如下:
- 切换回main分支
git checkout main
- 执行变基操作,将基于1d61b75的提交重新应用到main上
git rebase --onto main 1d61b75
这个命令的作用是:提取所有以1d61b75为父提交的后续提交(即你的两个redesign提交),并将它们逐一应用到main分支的最新版本上。
- 处理可能的冲突(如果有的话)
如果变基过程中出现代码冲突,先手动解决冲突文件中的代码差异,然后执行:
git add . git rebase --continue
若要终止变基操作,可执行:
git rebase --abort
- 验证结果
执行git log查看main分支的提交历史,你会看到那两个redesign提交已经出现在main分支的历史线中,且整个历史是线性的,没有多余的合并记录。
内容的提问来源于stack exchange,提问作者Michael Moreno
相关产品推荐
相关产品推荐

