有时候涉及到内外网开发的情况,分支错乱,代码冲突多,内外网协同多人开发指南
外网操作
- 本地切换到自己分支 xxx-dev
bash
git checkout xxx-dev
- 拉取 develop 最新代码,变基合并
bash
git pull origin develop --rebase
- 出现冲突:AI 协助解决,保证双方代码保留,冲突归属不明就标记出来自己判断
- 冲突全部解决,正常提交后推送远程
bash
git push origin xxx-dev
内网只同步,不做合并
- 内网拉取远程最新 xxx-dev 代码
bash
git pull origin xxx-dev
- 禁止切 develop、禁止执行 git merge,内网仅用来查看代码,不做分支合并操作
网页端统一合并(唯一合并入口)
- 打开 Git 网页后台,创建 xxx-dev → develop 合并请求 MR/PR
- 页面自动检测冲突:
- 无冲突:核对所有提交记录都是自己的业务代码,直接网页合并
- 有冲突:回到外网分支重新执行 rebase、解冲突,重新 push 后再回来网页合并
- 网页合并完成
本地同步最新主干
外网 / 内网切换到 develop,同步线上最新代码
bash
git checkout develop
git pull origin develop --rebase
完成,等待下一次开发
场景 2:线上 bug 修复(基于 main 分支)
- 基于 main 新建 bug 修复分支
- 开发完成执行变基拉取主干
bash
git pull origin main --rebase
- 冲突同上处理,push 远程 bug 分支
- 网页端提交合并到 main,自行核对提交记录
- 网页合并后本地 main 分支 pull 同步代码
「重置改错步骤」
- 切到本地 develop 分支,清空本次错误的本地 merge 提交
bash
git reset --hard origin/develop
- 本地 develop 恢复成线上干净版本,删掉你手动合并产生的分叉记录
- 切换回 xxx-dev,重新执行标准流程:rebase develop → push → 网页合并
- 全程不再本地执行任何 git merge 命令