Git 版本管理
Git 分支规范:
master -- 生产版本,始终保持与生产环境版本一致
publish -- 紧急发布版本,需要紧急发布的功能开发完成后合并到此版本进行测试
release -- 计划发布版本,测试完成的功能合并到此版本
feature/xxx -- 功能开发版本,xxx 为功能的名称。从 master 分支进行开发,开发完成后提交测试
hotfix/xxx -- 紧急问题修复版本,生产上发现问题时,从 master 版本分支出一个版本进行修复,修复完成后合并回 master 版本和 release 版本
需求开发标准步骤
- 从 master 版本分支 feature/xxx 版本进行开发。
- 开发完成后将 feature/xxx push 到 Git 库
- 在 Gitlab 上该项目中,创建 Merge Request,
- Source 选你的开发分支, Target 分支与组长确认使用哪个分支(需根据项目上线时间和紧急度安排,有时还需要和测试进行协调,所以在提交前才能确定)
- 提交 Merge Request 后不要做 Accept,通知组长 review 代码,由组长做 Accept
测试流程
- 在 feature 分支上开发完成后,将 master 分支合并到 feature,然后提交到指定的测试环境进行测试
- 对于明确发布日期的需求,测试完成后将 feature 分支合并到 release 分支,等待发布
- 对于紧急需求(比如测试完成即发布),发布前将 feature 分支合并到 publish 分支进行发布
发布流程
- 发布 publish 分支时,将 master 合并到 publish,进行发布。上线验证通过后,将 publish 合并到 master,并打上 tag 进行标记
- 发布 release 分支时,将 master 合并到 release,进行发布。上线验证通过后,将 release 合并到 master,并打上 tag 进行标记
特殊情况
- 解决生产问题时,如果修改较小,无需测试的,可以直接在 master 上修改--签入--push--然后更新到生产环境
- 对于线上紧急问题修复,目前可以接受先在生产上修复后。但需在修复后及时更新到 master 分支中(不建议这样操作,尽量先签入到 git 中再发布) 如果频繁发生忘记签入 Git 的话,以后会禁止这种方式
重点
每次修改代码前先确认当前的分支是否正确
新需求都在 feature 分支上开发
master 上始终是与生产上保持一致的版本
工具
在项目根目录下提供了自动处理脚本,可以方便的进行代码合并,打 Tag ,提交
./feature 基于最新的 master 分支创建一个 feature 分支进行需求开发
./getmaster 合并 master 分支到当前分支
./publish 将当前分支合并到 publish 分支
./release 将当前分支合并到 release 分支
脚本执行方式
1、打开 Git Bash Here
2、输入脚本名称运行,按提示进行操作
命名规范
feature/xxx 这里的 xxx 表示功能的名称,
用项目名称或需求编号,单词与单词之间用下划线
连接,如 feature/xloan2, feature/RA-B-0187
如果想不到合适的名字,可以用
姓名-年月日,如:hejiangyuan-20160826 同时在描述中说明建立此分支要做的事情
hotfix/xxx 这里的 xxx 用日期-序号命名,如 hotfix/20160826-1
tag 命名规范: 需求编号-年月日-时分,如:RA-B-0187-20160826-0908
如果没有需求编号,则写 姓名-
年月日-时分,如:hejiangyuan-20160826-0908
工具
Git for windows 基础服务,必须安装
https://git-for-windows.github.io/
Tortoisegit git(乌龟 Git),git 客户端工具,非常好用。
https://tortoisegit.org/
Eclipse 插件
EGit -- 通过Eclipse Marketplace 安装
配置
安装
Tortoisegit git 后,进入 Git 命令行
执行下面的命令设置姓名和邮箱(
注意替换成你的姓名和邮箱,填错了可修改后重新执行
)
- git config --global user.name "Li Haibo"
- git config --global user.email "[email protected]"
在一个文件夹的空白处点右键,即可克隆代码库
克隆 Git 库可以用下面的地址(Gitlab 的项目页上可以看到此地址)
https://code.houbank.net/project/hbadmin.git
(每次需要输入用户名密码)
或
[email protected]:project/hbadmin.git (需要在 Gitlab 中配置密钥,以后就不用每次输入密码)
Gitlab 秘钥的配置方式
安装 Tortoise Git 后,打开下图的工具
上面的窗口先不要关
打开
https://code.houbank.net/profile/keys
即 User Settings菜单
将复制的公钥粘贴到文本框中,输入备注,然后保存
然后,继续按下图操作
注意 URL 中输入 [email protected]:project/hbadmin.git
这样配置以后,再提交就不需要输入用户名密码了