执行git commit --amend后,如何对分支进行重新变基?
Git分支重构操作步骤
你的需求本质是把原分支中基于旧提交的后续提交,重新基于修改后的新提交进行变基,具体操作如下:
确认关键提交信息:
确保你已明确几个关键提交的哈希:修改后的新提交ABCD0002,原分支的两个后续提交EFGH0001、IJKL0001(当前dev分支默认仍指向IJKL0001,可通过git log dev查看确认)。执行变基命令:
直接运行以下Git命令:git rebase --onto ABCD0002 ABCD0001 dev各参数作用:
--onto ABCD0002:指定新的基准提交为你修改后的ABCD0002ABCD0001:标记要移动的提交范围起点(即原分支中ABCD0001之后的所有提交,也就是EFGH0001和IJKL0001)dev:指定要更新的目标分支
处理冲突(若出现):
如果变基过程中触发代码冲突,Git会暂停流程并提示冲突文件。此时需要:- 手动打开冲突文件,解决代码冲突
- 执行
git add .标记冲突已解决 - 执行
git rebase --continue继续变基,直到整个流程完成
操作完成后,dev分支的提交结构将变为:ABCD0002 -> X(基于新基准的EFGH变更) -> Y(基于X的IJKL变更),其中X、Y会生成新的提交哈希,原有的EFGH0001和IJKL0001会成为无引用的旧提交,后续会被Git自动清理。
内容的提问来源于stack exchange,提问作者Wayne Tseng
相关产品推荐
相关产品推荐

