面试题之项目中git如何进行管理
我们采用 分支管理 + Code Review + CI/CD 的标准化流程:
分支模型
main
:生产环境代码(受保护,仅允许合并)release/*
:预发布分支(用于回归测试)feature/*
:功能分支(按需求命名)hotfix/*
:紧急修复分支
示例流程:
git checkout -b feature/user-login # 创建新功能分支 git push origin feature/user-login git merge main # 定期同步主线代码
代码协作
- Merge Request(MR):所有功能合并需发起MR,至少2人评审
- 自动化检查:MR触发CI流水线(单元测试/Lint扫描/安全检测)
- Squash Merge:合并时压缩提交记录,保持主分支清晰
权限控制
graph LR Junior(初级工程师) -- 仅推送 --> FeatureBranch[feature/*] Senior(高级工程师) -- 可合并 --> ReleaseBranch[release/*] DevOps(运维) -- 管理 --> Main[main]