Git使用规范

  1. 编码规范
  2. git子模块

编码规范

开发流程为:

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
2
3
4
5
6
7
8
# 第一次commit (先保存在本地, 不push到远程)
git commit -m "[feature] 登录功能"

# 隔天做追加
git commit --amend

# 在任务完成后push到远程.
git push

5.代码注释请

使用项目相应要求规范

6.每次pr中涉及到修改数据库结构, 需在PR-tasks文件夹下放置修改的内容.

例如, “添加管理员头像” 功能, 在admin表中添加了一个avatar字段, 则需:

git子模块

使用子模块, 可以方便地将其他commit关联到当前的分支下,而互不影响. 例如, 我们可以将 “文档分支”, “ui” 分支关联到master下, 如此在master分支下便可以查看所其他分支的内容.

具体可以参考 Git-工具-子模块

子模块项目的初始化

  1. clone代码 git clone https://gitee.com/tjitech/transform_mgr.git
  2. 初始化子模块 git submodule init
  3. 添加子模块 git submodule add <respo> <localdir>
  4. 拉取子模块代码 git submodule update
  5. 当子模块内容被修改时, 项目管理者可以调用 git submodule update --remote 对子模块进行更新