git 使用规范

1、通过修改配置文件 .gitconfig,此文件一般在个人主目录下(~/),配置如下

  • [user]

  • name = xxxx #开发者名称

  • email = xxxxxx@163.com # 邮箱随意

2、分支划分如下:(目前开发分支与测试分支暂为一个)

  • master:线上分支

  • gray:灰度发布分支--有必要时合并,与preview分支代码保持一致

  • preview:预发布分支,每次代码上线前必经分支,正式上线后,与线上分支保持绝对一致

  • develop:开发测试分支

  • feature-xxx:功能分支

  • hotfix-xxx:热修复分支,不常驻,当需要热修复时,用于修复线上bug;

3、分支命名规范约定如下:

  • feature分支命名:feature-xxxx

  • hotfix分支命名:hotfix-xxxx

4、commit -m 命名规范约定

  • feat:新功能(feature)

  • fix:修补bug

  • docs:文档修改

  • style: 不影响代码含义的修改(例如:white-space; 格式化等)

  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)

  • perf: 提升性能的修改

  • test:增加或修改测试

  • chore:构建流程或辅助工具的变动

5、正常开发流程

  • 每个版本都从master分支拉出代码,代码完成后,合并到develop分支进行测试,测试通过后,合并到预发布分支,预发布分支通过后,代码由预发布分支合并到线上分支

  • 切出新分支:git fetch origin master:feature-test

  • 将新分支推到远程仓库:git push --set-upstream origin feature-test

  • 开发完成后,切换到测试分支(develop),合并开发分支代码:git merge feature-test --no-ff -m"XXXXXXXX"

  • 测试完成后,切换到预发布分支(preview),合并开发分支代码:git merge feature-test --no-ff -m"XXXXXXXX"

  • 预发布用过后,切换到线上分支(master),合并预发布分支代码:git merge preview --no-ff -m"XXXXXXXX"

6、线上紧急bug修复

  • 从线上分支克隆出来一个热修复分支:git fetch origin master:hotfix-test

  • 切换到热修复分支:git checkout hotfix-test

  • 修复bug

  • 切换到预发布分支:git checkout preview

  • 将热修复分支代码合并到预发布分支:git merge hotfix-test --no-ff -m"XXXXXXXX"

  • 验证通过后,将代码提交到preview分支线上仓库:git add、commit、pull、push

  • 将热修复分支代码合并到测试分支

  • 切换到master分支,将热修复分支合并到master分支,将master分支推到线上仓库

  • 完成热修复

  • 注意一点,合并分支的时候,一定带上–no-ff,它可以保存你之前的分支历史。能够更好的查看合并历史,以及分支状态

7、关于冲突

  • 首先、开发的时候,尽量每个人负者不通模块,尽量避免冲突场景

  • 如果避免不了业务交叉,每完成一个接口或方法,同步一次代码,减少冲突可能性

  • 出现冲突,打开冲突文件,确认保留代码(多人编写造成的,需和同事确认,避免勿删),再提交到线上仓库

最后更新于