项目开发使用gitflow流程
一、安装扩展:http://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html
二、在项目目录下运行,一路回车就好,使用默认配置
git flow init
三、一般功能开发
1、feature开发新功能
git flow feature start xxx(功能分支名,自己起)
#此时分支自动切到了feature/xxx,开发功能,并测试,完成后需要add、commit,最后就能finish了
git flow feature finish xxx
#新功能自动合并到了develop,并且删除了本地的feature/xxx分支
git pull origin develop
git push origin develop
#合并develop
2、打release,基于develop分支:
(git flow release start $tag)
$tag是最终docker打镜像的tag,如:0.0.5(三位数分别表示:大版本.重要产品功能.一般功能迭代)
git flow release start 0.0.5
git flow release finish '0.0.5'
#release会自动合并到master与develop上,下一步所有代码同步到远程就ok
#这里只列了理想状态,实际开发中需要先pull
git push origin develop && git checkout master && git push
3、tag推至远程
git push --tags
四:线上bug紧急修复,基于master分支
(git flow hotfix start $tag)
git flow hotfix start 0.0.6
#bug修复,测试通过,就可以finish hotfix了
git flow hotfix finish '0.0.6'
#代码自动merge到了master与develop上,并且切换到了develop上,下一步将两个分支代码同步到远程库
git push origin develop && git checkout master && git push
3、tag推至远程
git push --tags
注意:各种命令finish的message需要写,且要有意义,否则会finish失败
此外,合并分支有多种写法,文档只写了其中一种,也可以使用Sourcetree客户端,MAC下特别方便
五、代码对比
访问gitlab对当前tag代码与线上版本代码进行对比,查看diff,确认修改无误。
https://gitlab.bitmain.com/bitdeer/cloudpower-userplatform-frontend/compare/0.0.50...0.0.51
六、docker镜像
docker login r.bitfunc.com:8443
make build tag={tag}
make push tag={tag}
网友评论