如何合并远落后于master的功能分支?Git分支合并最优方案咨询
可行性结论
你提出的操作方案完全可行,是这类跨分支合并场景下的常规稳妥实现方式。
对应操作步骤
- 先同步本地master分支到最新版本:
git checkout master git pull origin master
- 切换到feature_2分支合并最新master,该环节产生的冲突全部在feature_2分支处理,不会干扰正在开发的feature_1分支:
git checkout feature_2 git merge master # 出现冲突时解决冲突后执行 git add 冲突文件,再执行 git commit 即可
- 切换到已经和master保持同步的feature_1分支,合并处理完成的feature_2:
git checkout feature_1 git merge feature_2
可选优化方案(适合对分支提交整洁度有要求的场景)
如果你的团队没有强制要求保留全量合并提交记录,且feature_2是你个人独立开发的分支,可以用变基替代feature_2上的合并操作,最终分支提交线会更清晰无多余合并节点:
# 同步完最新master后执行 git checkout feature_2 git rebase master # 按提示解决变基过程中产生的冲突,完成后再合并到feature_1即可
注意事项
- 如果feature_2是多人协作的公共分支,不要对该分支执行变基操作,否则会修改公共提交历史,影响其他协作者的本地分支
- 所有合并/变基操作执行前,建议先提交当前分支所有未提交的本地修改,避免操作异常导致代码丢失
内容的提问来源于stack exchange,提问作者Cyrus Yin
相关产品推荐
相关产品推荐

