本文用于记录两个相关仓库从功能分支合并到主分支的通用流程。示例只使用泛化名称复制到公开笔记时按需替换路径和分支名。适用场景功能已经开发完成并且已经在测试或生产环境验证过。需要把前端仓库和后端仓库的功能分支同步合并到master。两个仓库分别独立管理 Git 历史需要分别检查、合并和推送。合并前检查先分别进入两个仓库确认工作区干净cdfrontend-repogitstatus--short--branchcdbackend-repogitstatus--short--branch如果有未提交改动先确认这些改动是否属于本次发布属于本次发布先提交到功能分支再合并。不属于本次发布先暂存到 stash或切到新的临时分支保存。不确定来源不要直接丢弃先确认再处理。拉取远端信息分别获取远端主分支和功能分支cdfrontend-repogitfetch origin masterfrontend-feature-branchcdbackend-repogitfetch origin masterbackend-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 合并。合并前端仓库cdfrontend-repogitswitch mastergitmerge --ff-onlyfrontend-feature-branch如果成功会看到Fast-forward。如果失败说明不能快进合并需要先检查是否有并行提交或冲突。合并后端仓库cdbackend-repogitswitch mastergitmerge --ff-onlybackend-feature-branch同样优先使用--ff-only这样主分支历史会保持线性更容易回溯。推送主分支确认两个仓库合并成功后分别推送cdfrontend-repogitpush origin mastercdbackend-repogitpush origin master推送完成后再确认主分支状态gitstatus--short--branchgitlog--oneline--decorate-5如果不能 fast-forward如果git merge --ff-only feature-branch报错先不要强推。按下面顺序处理gitfetch origin masterfeature-branchgitswitch mastergitpull --ff-only origin mastergitmergefeature-branch如果出现冲突gitstatus--short打开冲突文件保留正确内容后执行gitaddresolved-filesgitcommitgitpush origin master冲突处理完成后建议至少运行一次项目自身的基础检查例如类型检查、单元测试、构建或核心接口冒烟测试。推荐核对清单工作区在合并前是干净的。本地master与origin/master一致。功能分支已经包含本次要发布的全部提交。前端仓库已合并到master。后端仓库已合并到master。两个仓库的master都已推送远端。如有数据库变更已确认线上应该执行的是增量 SQL而不是全新初始化 SQL。如有部署流程已确认部署使用的是更新后的master。常用命令速查gitstatus--short--branchgitfetch origin masterfeature-branchgitrev-list --left-right--countmaster...origin/mastergitrev-list --left-right--countmaster...feature-branchgitswitch mastergitmerge --ff-onlyfeature-branchgitpush origin mastergitlog--oneline--decorate-5
手动合并到主分支参考
发布时间:2026/5/27 6:11:22
本文用于记录两个相关仓库从功能分支合并到主分支的通用流程。示例只使用泛化名称复制到公开笔记时按需替换路径和分支名。适用场景功能已经开发完成并且已经在测试或生产环境验证过。需要把前端仓库和后端仓库的功能分支同步合并到master。两个仓库分别独立管理 Git 历史需要分别检查、合并和推送。合并前检查先分别进入两个仓库确认工作区干净cdfrontend-repogitstatus--short--branchcdbackend-repogitstatus--short--branch如果有未提交改动先确认这些改动是否属于本次发布属于本次发布先提交到功能分支再合并。不属于本次发布先暂存到 stash或切到新的临时分支保存。不确定来源不要直接丢弃先确认再处理。拉取远端信息分别获取远端主分支和功能分支cdfrontend-repogitfetch origin masterfrontend-feature-branchcdbackend-repogitfetch origin masterbackend-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 合并。合并前端仓库cdfrontend-repogitswitch mastergitmerge --ff-onlyfrontend-feature-branch如果成功会看到Fast-forward。如果失败说明不能快进合并需要先检查是否有并行提交或冲突。合并后端仓库cdbackend-repogitswitch mastergitmerge --ff-onlybackend-feature-branch同样优先使用--ff-only这样主分支历史会保持线性更容易回溯。推送主分支确认两个仓库合并成功后分别推送cdfrontend-repogitpush origin mastercdbackend-repogitpush origin master推送完成后再确认主分支状态gitstatus--short--branchgitlog--oneline--decorate-5如果不能 fast-forward如果git merge --ff-only feature-branch报错先不要强推。按下面顺序处理gitfetch origin masterfeature-branchgitswitch mastergitpull --ff-only origin mastergitmergefeature-branch如果出现冲突gitstatus--short打开冲突文件保留正确内容后执行gitaddresolved-filesgitcommitgitpush origin master冲突处理完成后建议至少运行一次项目自身的基础检查例如类型检查、单元测试、构建或核心接口冒烟测试。推荐核对清单工作区在合并前是干净的。本地master与origin/master一致。功能分支已经包含本次要发布的全部提交。前端仓库已合并到master。后端仓库已合并到master。两个仓库的master都已推送远端。如有数据库变更已确认线上应该执行的是增量 SQL而不是全新初始化 SQL。如有部署流程已确认部署使用的是更新后的master。常用命令速查gitstatus--short--branchgitfetch origin masterfeature-branchgitrev-list --left-right--countmaster...origin/mastergitrev-list --left-right--countmaster...feature-branchgitswitch mastergitmerge --ff-onlyfeature-branchgitpush origin mastergitlog--oneline--decorate-5