git团队协作

介绍

主要讲GIT分支使用策略

角色

  • 主程:一个项目有一个或多个主程序员,负责管理分支合并,代码审查,并在必要的时候辅导其他程序员开展工作

  • 开发人员:作为项目中的普通开发人员,一般负责功能开发,bug修复等,一般只需要操作相关特性分支即可

分支介绍

主分支

指的是 masterdlpt-xxx-master 分支,是项目稳定版本且可随时发布的代码,主分支一般做为保护分支,只有发布版本或者修复线上问题的时候才会去修改,只有主程序员才有权限进行直接操作。

开发分支

指的是 devdevlopment 分支,是从主分支检出,用来开发当前里程碑内的功能。

测试分支

指的是 test 分支,用来在测试环境检验新的功能,或者bug修复情况。

独立部署分支

指的是 dlpt-xxxx-master 分支,用来做为独立部署服务的代码,一般都有独立的 服务配置文件 , 服务名,域名,接口域名都和主分支,测试分支不同。

特性分支

指的是一些按照特性命名,如feature-xxxhotfix-xxx,或以issue编号命名的分支,如果是开发阶段,需要合并到开发分支,如果是修复线上问题,需要直接合并到测试分支,测试通过后走分支合并流程。

分支操作

分支创建

  • 项目初始化,创建主分支
  • 基于主分支检出开发分支或特性分支

分支合并

  • 合并到主分支,通过merge request 方式
  • 合并到其他分支,在本地环境自行合并后提交到仓库

分支删除

  • 一般情况下,主分支、开发分支、测试分支作为项目的重要分支,应尽量保持不做删除操作
  • 其他分支,如feature-xxxhotfix-xxx,一般是由重要分支派生而来,在完成功能开发上线后或紧急bug修复上线后,可做分支删除操作

常见问题

代码冲突

当产生代码冲突时,需要在本地下载代码,根据具体的情况删除或合并冲突的代码,并再次提交到仓库。

  • 注意,解决冲突时应和相关开发人员确认冲突,合并代码并非简单的解决featue a和test分支冲突,需要商量是feature a 还是feature b 需要调整代码,假若feature a 需要调整代码,feature a 调整代码,合并到test分支,feature b 重新合并到test分支。

代码回滚

使用 git resetgit revert 等方式回滚到需要的版本。

无法提交

主要原因有:网络错误,权限错误,文件过大,提交到保护分支等。

补充

为增强团队协作能力,提高开发效率,一般我们还可以从以下点着手:

  • 统一代码风格
  • 提炼公共组件,模块,样式等
  • 定期做code review
  • 提交代码时commit信息尽量明确,方便后期追踪问题
  • 适当的代码备注
  • 尽量统一开发工具,甚至是统一工具内的格式化文档配置
  • 公共部分的维护尽量同一人维护,并及时告知相关人员有哪些改动

你可能感兴趣的:(git团队协作)