准备工作
-
git下载
-
ssh配置
-
IDEA插件
下载插件
Git commit template
GIT流程
多分支团队开发
中大型项目 由交多团队成员共同开发完成
多分支GIT使用规范
- 使用插件
Git commit template提交代码 - 一个提交最多1个任务(任务包含BUG,需求,开发任务)
- 长期分支不允许
push,只允许合并,以下分支为长期分支 -master: 生产环境分支【必选】,专人合并 -pre-prod: 预生产环境分支,专人合并 -uat: 用户验证环境分支,专人合并 -sit: 测试环境分支【必选】,专人合并 -dev: 开发环境分支【必选】,由开发合并 - 非长期分支合并后立即删除
- 冲突必须在本地解决,不允许在线上解决
部署发布流程
日程需求
-
每周二 - 产品经理与项目经理召集业务部门召开需求沟通会 - 产品经理与项目经理制定下周迭代计划 - 产品经理创建需求 - 项目经理需求拆分和任务分配
-
每周三 - 项目经理召开上线评审会议 - 开发经理发布部署更新生产环境 - 开发经理创建未来2周迭代分支 ### 临时需求
-
项目经理评估可否加入近期迭代计划 - 可加入:无特殊处理,正常将需求加入开发计划即可 - 不可加入:由开发经理新增临时分支,对应开发任务均合并至临时分支中
开发流程
- 开发基于
dev-mmdd拉取分支- 本地分支名
姓名简称-任务类型-禅道ID或者姓名简称-发布版本号-流水号-姓名检查-任务类型-禅道ID适合有明确的禅道任务或者BUG -姓名简称-发布版本号-流水号适合无禅道任务或者BUG,流水号自行定义 - 如同时开发多个系统,可在分支名最后增加系统简写- 开发人员
commot时必须对开发内容进行描述。- 开发人员将本地分支
push至gitlab,并创建dev-mmdd的合并请求(俗称MR)- 通知对应开发组长进行
批准和合并操作
常用命令
# 保存代码
git stash save '代码说明'
# 查看保存的代码
git stash list
# 提取代码
git stash pop stash@{$num}
# 强制覆盖本地
git fetch --all && git reset --hard origin/master && git pull
# 推送远程仓库
git push [远程分支名] [本地分支名]
插件使用
插件路径
插件说明
提交类型说明:
feat功能feature的意思,也是最常用的。当你的功能有变更的时候,都可以采用这种类型的typefix当然指的是bug修复docs更新了文档,或者更新了注释style代码格式调整,比如执行了format、更改了tab显示等refactor重构代码。指的是代码结构的调整,比如使用了一些设计模式重新组织了代码perf对项目或者模块进行了性能优化。比如一些jvm的参数改动,把stringbuffer改为stringbuilder等test这个简单,就是增加了单元测试和自动化相关的代码build影响编译的一些更改,比如更改了maven插件、增加了npm的过程等ci持续集成方面的更改。现在有些build系统喜欢把ci功能使用yml描述。如有这种更改,建议使用cichore其他改动。比如一些注释修改或者文件清理。不影响src和test代码文件的,都可以放在这里revert回滚了一些前面的代码