分支开发规范
master分支
大部分项目都不要直接在master下直接开发 master分支需要确保是完全同步线上的状态, 任何时间点打包master分支都可以直接上线
分支创建规范
feature/xxx: 新需求,功能性开发 hotfix/xxx: bug修复
分支生命周期
分支上线前merge master, 上线后第一时间将分支合并入master 分支开发完成并合入master之后, 说明该分支生命周期已经完结,请删除分支
关于删除分支
- 方法一: gitlab中删除
- 方法二: 命令行执行git push origin --delete [branch_name]
s分支删除后本地查看仍然可以看到
- 方法一: sourcetree pull/fetch操作时有个选项,勾选同步远程分支
- 方法二: 命令行执行git remote prune origin
- 方法三: 任意分支下执行git pull -p
semver版本管理
a.b.c
a: 主版本号 b: 次版本号 c: 修订号
使用npm version cli管理npm包版本
npm version [majoir|minor|patch]
text
# 当前版本 1.2.3
# 升级主版本号 1.2.3 -> 2.0.0
# 主版本号代表不兼容以前版本的改动
npm version major
# 升级次版本号 1.2.3 -> 1.3.0
# 次版本号代表兼容性的新特性添加
npm version minor
# 升级修订号 1.2.3 -> 1.2.4
# 修订号代表修复上一版的bug
npm version patch
流程
- npm包的修改迭代,并commit/push
- 使用npm version改动版本
- git push
- git push --tags
- 调用方更改依赖版本
内部依赖使用(git+http或git+ssh)
text
"dependencies": {
"href": "git+http://git.taoche.com/npm/href.git#v1.0.0",
"tc": "git+ssh://git@git.taoche.com/npm/tc.git#v0.1.14",
...
}
注意
务必要加#版本号,指定版本,否则会拉取最新版本
参考
semver: https://semver.org/lang/zh-CN/
git工作流
工作流
基于gitflow, 简化版本
参考文档: http://nvie.com/posts/a-successful-git-branching-model/
区别: 不设release, develop分支, 暂不打tag, 保留master, feature/, hotfix/
项目
feprogram/taoche等项目锁定master, 不允许直接在master下改动,需要提交merge request进行review
act等项目进行敏捷开发, 不锁定master, 分支自行管理
crm等项目设立develop分支,特性分支开发完成后合并入develop, master分支从develop单向merge
工作流程
基于最新master建立分支,功能分支feature/xxx 或 线上bug修复分支 hotfix/xxx 在分支下开发 开发完成, merge master到当前分支,release灰度/上线。
Contributors
作者:Long Mo
字数统计:625 字
阅读时长:2 分钟
文章作者:Long Mo
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Longmo Docs !