技术团队统一使用Gitlab私服托管代码仓库。
为方便协作开发,制定以下规则:
信息 | 填写字段 | 规则 | 例 |
---|---|---|---|
姓名 | Full name | 真实姓名(中文) | 张三 |
用户名 | User name | 姓名全拼_工号/公司域账号 | zhangsan_17070022 |
邮箱 | 企业个人邮箱 | zhangsan@companymail.com | |
头像 | Avatar | 请设置具有个人标志的头像 | - |
本地需配置用户名和邮箱,作为提交时的用户信息:
git config --global user.name zhangsan_17070022
git config --global user.email zhangsan@companymail.com
方便进行查阅,以及团队代码提交量和贡献度统计。
- 企业项目:存放企业项目,企业项目必须存放在项目组群组中;
- 个人项目:存放个人项目,个人实验性项目或个人开发的工具性项目。
以项目(或生态)为第一维度,建立群组(Group)。托管所有该项目(或生态)的代码,包括关联项目(以子群组形式)、前端、后端、移动端等。
- 如果根群组是一个生态概念,那么生态下的关联项目以子群组形式存放;
- 如果根群组是一个项目,子群组为前后端分组或直接项目仓库。
群组名以项目英文名或英文缩写为标准(缩写时应使用大写字母),多个英文单词之间用连字符 -
连接。例:alibaba-taobao,CTP。
- 如果根群组是一个生态概念,子群组为关联项目,子群组名为项目全称或简称;
- 如果根群组是一个项目,子群组前后端分组,子群组名称为前后端简称。
命名结构:前端为子项目描述 + 终端
,后端为子项目描述 + 服务类型
。
- 子项目描述:采用语义化的子项目名,结构建议为
用户群+功能描述
。
用户群通常分为HQ端、B端、C端。功能描述如admin、store等。
例:
hq-admin(总部后台)、merchant-admin(商户后台)、c-ministore(用户端微店)
- 终端:一般分为网页端(web,wap)、手机、pad移动端APP(ios/android/内嵌h5)、微信端(公众号、企业号、小程序、小游戏)和其他一些智能设备(如收银机、电视等)。使用规则:
- 手机APP:mobile,可细分为mobile-android、mobile-ios、mobile-h5
- 微信端:wechat,可细分为wechat-h5、wechat-miniapp
- pad端:pad,可细分为pad-android、pad-ios、pad-h5
- pos端:pos,可细分为pos-android、pos-ios、pos-web
- 浏览器端:pc端web、手机端h5
- 服务类型:service(Java 服务)、api(Node服务)、job(定时任务)等。
在群组和项目描述中,注明项目组名称或群组用途。例如:xxxx项目-前端,xxxx项目-公众号。
仓库权限涉及到企业核心资产保护,所以需要严格管理。
- 由系统管理员或技术负责人创建群组;
- 若某人的工作涉及到此分组下的所有代码仓库,则给此人加
Group
相应权限。否则,只能加项目权限; - 非项目核心开发人员开通代码权限,需要通过公司正式申请流程(工单、邮件等)向相关人员(项目管理员)申请;
- 非项目成员开通代码权限,需要通过邮件向相关人员(项目管理员)申请,且最高开通“报告者”权限。
附:Gitlab 成员角色
角色 | 描述 |
---|---|
Owner / 所有者 | Git 系统管理员(专人) |
Master / 主程序员 | 项目管理员(限制为1人或专人) |
Developer | 开发人员 |
Reporter | 报告者 |
Guest | 访客 |
如需了解对应权限,请查看GitLab官方权限说明