如何变基从已被squash合并到master的F1分支创建的F2分支?
解决方案
你需要通过**变基(rebase)**操作将F2分支的E、F提交迁移到master的CDI提交之后,具体步骤如下:
切换到F2分支:
git checkout F2执行变基操作,跳过C、D提交,将E、F迁移到master分支最新的CDI提交上:
git rebase --onto master D F2这里的
D是F2分支中E提交的父提交(即你要丢弃的D节点),如果不知道D的哈希值,可执行git log --oneline查看提交历史,替换为D对应的短哈希即可。或者用交互式变基更直观:
git rebase -i master弹出编辑器后,找到C、D对应的
pick行并删除,只保留E、F的pick记录,保存退出即可完成迁移。验证分支结构:
执行以下命令查看分支拓扑,确认结构符合预期:git log --graph --oneline --all(若F2已推送到远程)强制推送更新:
由于变基修改了分支历史,需要强制推送覆盖远程分支:git push -f origin F2注意:强制推送前需确认团队内其他成员未在该分支上工作,避免引发代码冲突。
内容的提问来源于stack exchange,提问作者TreeWater
相关产品推荐
相关产品推荐

