Git基本团队协作流程

321 阅读4分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第1天,点击查看活动详情

前言

项目协作开发早已不是新鲜事,然而在一些小公司中,基本上没有团队协作开发这个流程,都是一个人负责前端或者后端的开发,代码管理也几乎没有,甚至直接就在一个分支上进行开发。这就导致了项目管理的混乱以及让自己无法快速融入到一个大团队的开发中,以下内容就是为了初步解决上述问题。

1.主要线上分支介绍

  • master:主分支,一切分支的基点。当自己的分支测试通过后,在git服务器平台创建一个Merge Requests,通过代码评审后,合并到master分支,然后将master分支发布到生产环境
  • develop:测试分支。基于master分支创建,代码发布生产环境前,需要将自己的分支通过git服务器平台合并到develop分支,流程如master分支,走线上Merge Requests,一般情况下不能在本地直接merge自己的分支然后push到线上,除非存在代码冲突。
  • release:预发布分支,该分支并不是必须分支,根据公司情况具体而定。是否走线上的代码评审也是根据公司情况而定,一般情况下,只要严格遵守测试环境和生产环境的代码评审就基本不会出现什么问题

2.开发分支命名规则

  • feat新增特性
  • fix修复bug
  • style代码格式(不影响代码运行的变动)
  • docs文档注释
  • refactor重构(既不增加新功能,也不是修复bug)
  • perf性能优化
  • test增加测试
  • chore构建过程或辅助工具的变动
  • revert回退代码
  • build打包代码
  • 举个栗子
分支:feat-feedback202203-zhansan (新增特性-反馈功能某年某月-开发者)
本地命令:git branch feat-feedback202203-zhangsan

分支:fix-approval202203-lisi(修复bug-审批某年某月-开发者)
本地命令:git branch fix-approval202203-lisi

3.开发分支提交规则

提交线上Merge Requests时的内容填写:

  • Title大概描述下该分支做的事情
  • Description添加上任务地址(需求或者缺陷)
  • 尽量每一次提交不超过1000个additions

4.分支管理

  • 每个月中旬需要将上个月已经上线的自己分支及时删除。(线上分支)
  • 当线上的master分支被回滚后,需要告知同事将本地的master分支删除,重新拉取线上的master分支到本地。(注意:尽量不要回滚master分支代码,影响会比较大)

5.代码冲突解决方式

无论是和哪个分支存在代码冲突,都需要先找到冲突的原因是什么,并和相关人员进行沟通,最后再决定是采用当前分支的代码还是合并分支的代码。

与master分支的冲突

  • 本地切换到自己的分支
  • 分别执行以下命令
git fetch
git merge origin/master
  • 解决代码冲突后再执行以下命令
git add .
git commit -m "代码冲突解决"
git push origin 自己的分支名

与develop分支的冲突

第一种方式:

  • 本地切换到develop分支(注意:不能在自己的分支下合并develop分支,否则自己的分支上会有不是自己变更的代码)
  • 分别执行以下命令
git fetch
git merge origin/自己的分支名
  • 解决代码冲突后再执行以下命令
git add .
git commit -m "代码冲突解决"
git push origin develop

第二种方式:

  • 重新基于线上的develop分支创建一个新的分支,将自己的代码复制到该新分支下,然后走线上的merge request流程

尾声

以上就是一些基本git协作开发流程,接下来我再整理一篇基本的git操作命令,让有需要的人能够熟练使用日常高频的git操作,不再为团队协作开发感到烦恼。