Skip to content

分支开发规范

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

流程

  1. npm包的修改迭代,并commit/push
  2. 使用npm version改动版本
  3. git push
  4. git push --tags
  5. 调用方更改依赖版本

内部依赖使用(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
文章作者:Long Mo
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Longmo Docs