如何将从preprod检出的branchFeatureA仅以自身变更合并至develop分支?
将branchFeatureA合并至develop分支的最优方案
先做必要的准备工作
- 确保本地的两个分支都同步了远程最新版本:
- 切到
branchFeatureA拉取最新代码:git checkout branchFeatureA && git pull origin branchFeatureA - 切到
develop拉取最新代码:git checkout develop && git pull origin develop
- 切到
首选方案:普通合并(Merge)
因为develop是多人协作的公共分支,普通合并不会改写提交历史,能完整保留branchFeatureA的变更轨迹,不会干扰其他开发者的工作流程,这是最稳妥的选择:
- 切换到
develop分支:git checkout develop - 执行合并:
git merge branchFeatureA - 如果碰到冲突,手动解决后,用
git add .标记冲突已处理,再git commit完成合并 - 把合并后的
develop推到远程:git push origin develop
备选方案:变基合并(Rebase)(仅适合特定场景)
要是你希望develop的提交历史更整洁线性,而且能确定branchFeatureA没有被其他团队成员共享使用,可以试试变基:
- 切到
branchFeatureA:git checkout branchFeatureA - 基于最新的
develop变基:git rebase develop - 遇到冲突就手动解决,每解决一处用
git add .,然后git rebase --continue,直到变基完成 - 切回
develop:git checkout develop - 执行快进合并:
git merge branchFeatureA - 推送到远程:
git push origin develop
重要提醒:变基会改写
branchFeatureA的提交历史,绝对不能对已经推送到远程的公共分支这么做,不然会引发大面积的代码冲突,给团队添乱。
总结
优先用普通合并(Merge),它安全性高,适配多人协作的公共分支场景,能最大程度避免代码历史混乱的问题。
内容的提问来源于stack exchange,提问作者Saarick
相关产品推荐
相关产品推荐

