Git 分支合并实战指南

发布时间:2026/7/29 21:07:00

Git 分支合并实战指南 文章目录 推荐方案使用 Merge团队协作首选步骤 1切换到 main 分支并拉取最新代码步骤 2切换回你的功能分支步骤 3将 main 的最新代码合并到你的分支步骤 4推送到远程步骤 5创建 Pull Request 合并到 main 备选方案使用 Rebase个人开发可选步骤 1-2同上更新 main 分支步骤 3将 main 的最新代码 rebase 到你的分支步骤 4强制推送到远程步骤 5创建 Pull Request方案对比为什么推荐 Merge流程图当你的功能分支gouxinjie准备合并到主分支main时同时需要同步主分支上其他同事推送的最新代码这里我提供两种完整方案。推荐优先使用 Merge 方案它在团队协作中更稳健、容错性更强。 推荐方案使用 Merge团队协作首选Merge操作是最安全、最透明的协作方式保留完整历史记录便于追溯和回滚适合多人协作场景。步骤 1切换到 main 分支并拉取最新代码gitcheckout maingitpull origin main步骤 2切换回你的功能分支gitcheckout gouxinjie步骤 3将 main 的最新代码合并到你的分支gitmerge main这一步解决核心需求把别人推到 main 上的新代码同步合并到你的分支中。如果出现冲突# 1. 查看冲突文件gitstatus# 2. 编辑解决冲突冲突标记 HEAD / / main# 3. 标记已解决gitadd冲突文件1冲突文件2# 4. 完成合并提交gitcommit# 会弹出编辑器保存默认的合并提交信息即可步骤 4推送到远程gitpush origin gouxinjie✅无需 force push不会覆盖他人代码安全可靠。步骤 5创建 Pull Request 合并到 main在 GitHub/GitLab 等平台操作从gouxinjie分支向main分支发起Pull Request / Merge Request经过 Code Review 后点击Merge选择“Create a merge commit”或“Squash and merge”根据团队规范# 或者本地完成最终合并如果团队允许gitcheckout maingitmerge gouxinjiegitpush origin main 备选方案使用 Rebase个人开发可选Rebase 能让提交历史保持线性整洁但需要 force push在多人协作时风险较高。步骤 1-2同上更新 main 分支gitcheckout maingitpull origin maingitcheckout gouxinjie步骤 3将 main 的最新代码 rebase 到你的分支gitrebase main如果出现冲突# 解决冲突后gitadd冲突文件gitrebase--continue# 放弃 rebase 回退原状gitrebase--abort步骤 4强制推送到远程gitpush origin gouxinjie --force-with-lease⚠️--force-with-lease比--force安全但如果团队其他人基于你的分支开发绝对不要使用 rebase。步骤 5创建 Pull Request同 Merge 方案发起 PR 审核后合并。方案对比为什么推荐 Merge维度Merge推荐Rebase安全性✅ 无需 force push不会意外覆盖他人代码⚠️ 必须 force push存在覆盖风险历史记录✅ 完整保留分支合并历史便于追溯历史被改写呈线性协作友好度✅ 多人协作同一分支时完全安全❌ 他人基于你的分支开发时严禁使用回滚难度✅ 简单每个合并点清晰可查较复杂需要 reflog 找回历史美观度可能出现分叉图线性历史更整洁学习成本低冲突处理直观较高需理解 rebase 机制决策建议场景推荐方案团队项目、多人协作Merge个人项目、独立分支Rebase 可选需要保留完整审计记录Merge开源项目贡献fork 仓库Rebase 后提 PR分支已分享给他人协作绝对用 Merge流程图1、总体流程图2、分支演变示意图 感谢阅读想了解更多我的博客网站| 记录思考分享干货我的个人主页| 关于我、开源项目

相关新闻