Git使用规范与实践

146 阅读3分钟

准备工作

  • git下载

  • ssh配置

  • IDEA插件

下载插件Git commit template 图片.png

GIT流程

多分支团队开发

中大型项目 由交多团队成员共同开发完成

图片.png

多分支GIT使用规范

  1. 使用插件Git commit template提交代码
  2. 一个提交最多1个任务(任务包含BUG,需求,开发任务)
  3. 长期分支不允许push,只允许合并,以下分支为长期分支   - master : 生产环境分支【必选】,专人合并   - pre-prod : 预生产环境分支,专人合并   - uat : 用户验证环境分支,专人合并   - sit : 测试环境分支【必选】,专人合并   - dev : 开发环境分支【必选】,由开发合并
  4. 非长期分支合并后立即删除
  5. 冲突必须在本地解决,不允许在线上解决

部署发布流程

日程需求

  • 每周二         - 产品经理项目经理召集业务部门召开需求沟通会     - 产品经理项目经理制定下周迭代计划     - 产品经理创建需求     - 项目经理需求拆分和任务分配    

  • 每周三         - 项目经理召开上线评审会议         - 开发经理发布部署更新生产环境         - 开发经理创建未来2周迭代分支      ### 临时需求

  • 项目经理评估可否加入近期迭代计划     - 可加入:无特殊处理,正常将需求加入开发计划即可     - 不可加入:由开发经理新增临时分支,对应开发任务均合并至临时分支中

开发流程

  1. 开发基于dev-mmdd拉取分支
  2. 本地分支名姓名简称-任务类型-禅道ID或者姓名简称-发布版本号-流水号   -   姓名检查-任务类型-禅道ID 适合有明确的禅道任务或者BUG   -   姓名简称-发布版本号-流水号 适合无禅道任务或者BUG,流水号自行定义   -   如同时开发多个系统,可在分支名最后增加系统简写
  3. 开发人员commot时必须对开发内容进行描述。
  4. 开发人员将本地分支push至gitlab,并创建dev-mmdd合并请求(俗称MR)
  5. 通知对应开发组长进行批准合并操作  

常用命令

# 保存代码
git stash save '代码说明'


# 查看保存的代码
git stash list


# 提取代码
git stash pop stash@{$num} 


# 强制覆盖本地
git fetch --all &&  git reset --hard origin/master && git pull


# 推送远程仓库
git push [远程分支名] [本地分支名]

插件使用

插件路径

图片.png

插件说明

图片.png

提交类型说明:    

  • feat 功能feature的意思,也是最常用的。当你的功能有变更的时候,都可以采用这种类型的type
  • fix 当然指的是bug修复
  • docs 更新了文档,或者更新了注释
  • style 代码格式调整,比如执行了format、更改了tab显示等
  • refactor 重构代码。指的是代码结构的调整,比如使用了一些设计模式重新组织了代码
  • perf 对项目或者模块进行了性能优化。比如一些jvm的参数改动,把stringbuffer改为stringbuilder等
  • test 这个简单,就是增加了单元测试和自动化相关的代码
  • build 影响编译的一些更改,比如更改了maven插件、增加了npm的过程等
  • ci 持续集成方面的更改。现在有些build系统喜欢把ci功能使用yml描述。如有这种更改,建议使用ci
  • chore 其他改动。比如一些注释修改或者文件清理。不影响src和test代码文件的,都可以放在这里
  • revert 回滚了一些前面的代码