开发流程为:
1.编码阶段
克隆代码并且创建分支, 分支名使用`姓名缩写`, 例如:
git clone xxxx
git checkout -b cl-dev ; 陈利创建的开发分支
git checkout -b cl-scrollview ; 陈利创建的针对scrollview开发的分支;
之后在创建的分支上编码, 不要在master分支上编码;
2.提交阶段
从master分支合并最新代码
fetch
: git fetch upstream master
rebase
: git rebse upstream/master
commit
: git add & git commit -m “[feature] 修改日志”
push
: git push (push当前开发分支至远程仓库)
3.pr
登录git网站, 申请pr; 将自己的开发分支内容pr至master分支
PR注释请使用前缀进行标注
注释前缀 | 描述 | 举例 |
---|---|---|
[doc] | 文档及配置内容 | [doc] 修改配置文件 |
[feature] | 新功能 | [feature] 个人中心功能 |
[bugfix] | bug修复 | [bugfix] 解决首页bug |
[enhancement] | 功能优化 | [enhancement] 简化登录请求 |
4.避免
本地开发多次commit
当完成一个任务时, 可能需要多天时间; 开发人员经常在一天工作完成后就会做一次代码的 commit, 但是第二天又继续添加了一个 commit, 造成了多个commit意义不明确.
可以在第一次commit之后使用 --amend
参数在原commit上追加内容的方式避免生成多次commit; 在任务完成之后再push到远程. 例如:
1 | # 第一次commit (先保存在本地, 不push到远程) |
5.代码注释请
使用项目相应要求规范
6.每次pr中涉及到修改数据库
结构, 需在PR-tasks
文件夹下放置修改的内容.
例如, “添加管理员头像” 功能, 在admin表中添加了一个avatar字段, 则需:
任务日期
建立目录 (如: 创建 PR-tasks/20170505_admin-avatar)使用子模块, 可以方便地将其他commit关联到当前的分支下,而互不影响. 例如, 我们可以将 “文档分支”, “ui” 分支关联到master下, 如此在master分支下便可以查看所其他分支的内容.
具体可以参考 Git-工具-子模块
git clone https://gitee.com/tjitech/transform_mgr.git
git submodule init
git submodule add <respo> <localdir>
git submodule update
git submodule update --remote
对子模块进行更新