分支不是越多越好
刚开始做项目时,很多人觉得分支越多越安全,主干干净了,各自开发互不干扰。可真到三四个人同时开工,十几条分支来回切换,合并冲突频出,才发现管理起来像一团乱麻。
比如小张在 feature/user-login 分支上改了登录逻辑,小李在 develop 上调整了用户权限结构,两人谁都没通知对方。等上线前一合并,直接报错一堆。这种场景在小团队里太常见了,表面看是代码问题,根子其实是分支策略没定清楚。
主流模式:Git Flow 的简化版
Git Flow 听着高大上,但大多数中小型项目用不完它的全套流程。更实际的做法是保留核心思路:主干稳定、功能分支独立、定期集成。
通常保留两个长期分支:main 和 develop。main 只用于发布,每次上线打 tag;develop 是日常集成的“中转站”,所有新功能先合到这里测试。
每个新功能开一个短期分支,命名清晰点,比如 feature/order-refund 或 bugfix/cart-calc-error。做完自测通过,提 PR(Pull Request)进 develop,走完 Code Review 再合并。
合并前别忘了同步最新代码
很多人习惯闭门开发一周,最后直接往 develop 上合。结果发现早就和最新代码脱节了,冲突几十处,改得头皮发麻。
建议每天花几分钟从 develop 拉一下最新改动:
git checkout feature/order-refund
git pull origin develop早点暴露冲突,小问题逐个解决,比堆到最后一起处理轻松得多。删除远程分支别手软
功能上线后,对应的分支别留在远程仓库吃灰。不仅影响列表查看,还容易让人误操作切回旧分支继续改。
合并完成后,及时清理:
git branch -d feature/order-refund
git push origin --delete feature/order-refund现在多数平台如 GitHub、GitLab 在合并 PR 后会提示“Delete branch”,勾上就行,省事又整洁。紧急修复走 hotfix 流程
线上突然出问题,不能等 develop 分支慢慢测。这时候单独开个 hotfix 分支,从 main 切出,修完验证通过,直接合回 main 和 develop 两头。
例如:
git checkout main
git checkout -b hotfix/login-500修完后合并回 main 发布,再把同一提交合到 develop,避免下次发布时老问题又冒出来。命名规范也是一种沟通
分支名别写成 abc123 或 update2 这种,别人看不懂意图。统一用前缀分类:feature/、bugfix/、hotfix/、docs/,后面跟简短说明。
像 feature/payment-alipay 比 add_pay 清楚多了。团队成员一看就知道这分支干啥的,PR 审核也快。
项目分支管理,本质是减少协作摩擦。规则不用复杂,关键是大家都遵守,每天多花一分钟同步,能省下几小时救火时间。