当前位置: 首页 > news >正文

手动合并到主分支参考

本文用于记录两个相关仓库从功能分支合并到主分支的通用流程。示例只使用泛化名称,复制到公开笔记时按需替换路径和分支名。

适用场景

  • 功能已经开发完成,并且已经在测试或生产环境验证过。
  • 需要把前端仓库和后端仓库的功能分支同步合并到master
  • 两个仓库分别独立管理 Git 历史,需要分别检查、合并和推送。

合并前检查

先分别进入两个仓库,确认工作区干净:

cd<frontend-repo>gitstatus--short--branchcd<backend-repo>gitstatus--short--branch

如果有未提交改动,先确认这些改动是否属于本次发布:

  • 属于本次发布:先提交到功能分支,再合并。
  • 不属于本次发布:先暂存到 stash,或切到新的临时分支保存。
  • 不确定来源:不要直接丢弃,先确认再处理。

拉取远端信息

分别获取远端主分支和功能分支:

cd<frontend-repo>gitfetch origin master<frontend-feature-branch>cd<backend-repo>gitfetch origin master<backend-feature-branch>

检查本地master是否和远端一致:

gitrev-list --left-right--countmaster...origin/master

输出0 0表示本地master与远端master一致。

检查功能分支相对master的提交数量:

gitrev-list --left-right--countmaster...<feature-branch>

如果输出类似0 69,表示master是功能分支祖先,可以使用 fast-forward 合并。

合并前端仓库

cd<frontend-repo>gitswitch mastergitmerge --ff-only<frontend-feature-branch>

如果成功,会看到Fast-forward。如果失败,说明不能快进合并,需要先检查是否有并行提交或冲突。

合并后端仓库

cd<backend-repo>gitswitch mastergitmerge --ff-only<backend-feature-branch>

同样优先使用--ff-only,这样主分支历史会保持线性,更容易回溯。

推送主分支

确认两个仓库合并成功后,分别推送:

cd<frontend-repo>gitpush origin mastercd<backend-repo>gitpush origin master

推送完成后,再确认主分支状态:

gitstatus--short--branchgitlog--oneline--decorate-5

如果不能 fast-forward

如果git merge --ff-only <feature-branch>报错,先不要强推。按下面顺序处理:

gitfetch origin master<feature-branch>gitswitch mastergitpull --ff-only origin mastergitmerge<feature-branch>

如果出现冲突:

gitstatus--short

打开冲突文件,保留正确内容后执行:

gitadd<resolved-files>gitcommitgitpush origin master

冲突处理完成后,建议至少运行一次项目自身的基础检查,例如类型检查、单元测试、构建或核心接口冒烟测试。

推荐核对清单

  • 工作区在合并前是干净的。
  • 本地masterorigin/master一致。
  • 功能分支已经包含本次要发布的全部提交。
  • 前端仓库已合并到master
  • 后端仓库已合并到master
  • 两个仓库的master都已推送远端。
  • 如有数据库变更,已确认线上应该执行的是增量 SQL,而不是全新初始化 SQL。
  • 如有部署流程,已确认部署使用的是更新后的master

常用命令速查

gitstatus--short--branchgitfetch origin master<feature-branch>gitrev-list --left-right--countmaster...origin/mastergitrev-list --left-right--countmaster...<feature-branch>gitswitch mastergitmerge --ff-only<feature-branch>gitpush origin mastergitlog--oneline--decorate-5
http://www.jsqmd.com/news/894968/

相关文章:

  • LabelImg安装后打不开?5种常见报错排查与修复指南(Windows/Mac通用)
  • CST微波工作室建模进阶:从拉伸旋转到布尔运算,手把手教你玩转几何变换
  • 存内计算PIM如何突破GPU内存墙,重塑LLM推理硬件架构
  • 影刀RPA店群自动化工程资产化:流程复用与低代码编排平台建设
  • FPNA:面向生物医学信号处理的嵌入式AI硬件加速器设计
  • 型单通道或双通道红外气体分析仪 西门子 7MB2335-0AK80-3AA1
  • 从架构设计根治文档处理管道背压:反应式流与弹性伸缩实战
  • MCP驱动 vs CLI驱动:浏览器自动化范式对比与实战指南
  • 【OpenCV零基础保姆级入门】一篇吃透计算机视觉预处理!全套实战代码,适配YOLO/深度学习
  • 别再为跨域图片发愁了!html2canvas.js 0.5.0-beta4 截图完整避坑指南
  • Lovable新功能上线倒计时:7大高价值特性详解及迁移避坑清单
  • 基于注意力机制GAN的单图像SVBRDF恢复:从单张照片重建逼真材质
  • VS Code代码导出PDF:双图层渲染实现像素级保真与可搜索文档
  • 基于Hindsight与LangChain构建AI助手长期记忆系统的工程实践
  • 你的GEO优化,还是从关键词开始的吗?那你从一开始就错了
  • CES Asia 2026亚洲消费电子展:早鸟票5.31截止!
  • Mysql--基础知识点--113--innodb一张表最多适合2100万条数据的原因
  • OpenEBS三大存储引擎怎么选?从MySQL到Kafka,手把手教你根据应用场景做决策
  • 影刀RPA店群自动化事件驱动架构:异步状态机与复杂任务编排
  • 别再手动配OPC UA了!用Node-RED的opcua节点,5分钟搞定工业数据采集
  • 2026效果好服务优GEO服务商甄选:口碑佳值得合作机构测评
  • 毕业论文不晓得怎么下笔,怎么办?
  • 2026年阿拉善左旗哪些电器门店老板人好?这份名单请查收
  • 应用落地与硬核实力|云克隆猫原代细胞高品质助力科研、兽药、临床全场景
  • 从数据到交互:手把手教你用G6引擎绘制一个可拖拽、高亮连线的知识图谱
  • 4GB显存本地部署语音AI智能体:ASR+LLM+TTS全链路实战
  • QGIS图层管理保姆级教程:从拖拽文件到批量导入,新手避坑指南
  • 北大、清华等高校联合揭开多模态大模型的感知盲区
  • 3分钟搞定!这个开源神器如何让Windows图片浏览速度提升500%?
  • 深入解析Linux触摸驱动:以RK3566泰山派与D310T9362V1SPEC屏幕为例