如何将Git提交5的变更合并至提交2?(提交5文件与3、4无关)

可以合并,操作方法如下
你的需求完全可以实现,因为提交5涉及的文件和提交3、4无交集,操作不会产生冲突,具体步骤用Git交互式变基完成:
执行交互式变基命令,定位到提交2的父提交:
git rebase -i HEAD~4这里
HEAD~4是指从当前最新提交(提交5)往前回溯4个提交,进入变基的编辑界面。在弹出的文本编辑器中:
- 找到提交5对应的行,将开头的
pick替换为fixup(直接合并提交内容,丢弃提交5的说明)或squash(合并后可编辑新的提交说明) - 将这一行移动到提交2对应的行的下方
- 找到提交5对应的行,将开头的
保存并退出编辑器(比如Vim中按
Esc后输入:wq回车),Git会自动完成合并操作,最终你的提交历史会变成:1 -> 2(包含原提交5的变更) -> 3 -> 4
注意事项
- 如果该分支已经推送到远程仓库,变基后需要执行强制推送:
git push -f,但必须确保没有其他协作者在该分支上工作,防止覆盖他人修改。
内容的提问来源于stack exchange,提问作者BigP
相关产品推荐
相关产品推荐

