多人合作项目使用Git进行代码控制

分支管理

master 分支
  • 主分支,最稳定功能最全随时可以发布的分支
  • 以tag标记版本,对应的是线上版本,每一个tag对应一个线上版本
  • master主分支由dev以及fix分支合并,不允许直接在master分支上提交代码
dev 分支
  • 开发(Develop)分支,始终保持最新完成以及bug修复后的代码,永远是功能最新最全的
  • 一般开发新功能时,feat的分支都是基于dev分支创建的
feat 分支
  • 开发新功能(Feature)时,以dev为基础创建的分支
  • 分支命名: feat-开头的为特性的分支,eg:feat-user,feat-cart
rls 分支
  • 预上线(Release)分支,发布提测阶段,以rls分支代码为基准提测
  • 分支命名:rls-开头的后跟版本号,eg:rls-1.0,rls-1.04
当有一个feat分支开发完成,首先会合并到dev分支,进入提测时,会创建rls分支,如果测试过程中若存在bug需要修复,则由开发者在rls分支修复提交。当测试完成之后,合并rls分支到master和dev分支,此时master为最新代码,用作上线。稳定长期存在的分支只有master和dev分支,别的分支在完成使命之后会合并到这两个分支然后被删除。
fix 分支
  • 修复(hotfix)分支,命名以fix-开头,命名规则与feat分支类似
  • 线上出现紧急问题,需要及时修复,以master分支为基线,创建fix分支,修复完成后,合并到master和dev分支
代码提交规范 多人合作项目使用Git进行代码控制
文章图片

可以打开github看下开源项目的提交记录,大致格式:
():

type
  • feat:新功能
  • fix:修补bug
  • docs:文档
  • style:格式,不影响代码运行的变动
  • reft:重构,既不是新增功能,也不是修改bug的代码变动
  • test:添加测试
  • chore:构建过程或辅助工具的变动
scope
  • 用来说明本次commit影响的范围,简要说明会涉及的部分
subject
  • 简要叙述本次改动,概述
  1. 团队开发时,不要使用自己单独的git分支开发,然后提交合并,正确的做法是团队基于一个公共的远程分支进行开发写作
  2. 禁止使用-force强制推送到远程仓库
【多人合作项目使用Git进行代码控制】推荐一款git可视化工具: sourcetree

    推荐阅读