Skip to content

示例

工作流

feature

TIP

feature 分支用来开发新需求,一般用于相对较大的功能

创建 feature 分支

例如今天收到开发一个新闻页面的新需求,需求编号为 10088

这里假设我们设置的 release 分支名称为 release,bugfix 主干分支为 bug,develop 测试分支为 dev

  • 使用:gitm start feature 10088
  • 参考:gitm start

其他写法

  • 使用简写 gitm st feature 10088
  • 结果:程序会自动拉取远程分支代码,创建一个跟踪 release 分支的新分支feature/10088,创建之后程序会自动切到该新分支
shell
  gitmars git:(feature/10088) gitm start feature 10088
    抓取成功
    切换分支成功
    拉取代码成功
    切换分支成功
    10088分支创建成功,该分支基于release创建,您当前已经切换到feature/10088
    如果需要提测,请执行gitm combine feature 10088
    开发完成后,记得执行: gitm end feature 10088
  gitmars git:(feature/10088)

WARNING

注意该分支不需要 push 到远程,在本地开发后执行 commit 就行了,不用 push

合并分支到测试环境

  • 使用:gitm combine feature 10088 --dev
  • 参考:gitm combine

其他写法

  • 使用简写 gitm cb feature 10088 -d
  • 不写分支名 gitm cb -d
  • 合并后构建 dev 环境 gitm cb -db
  • 结果:程序会自动拉取 dev 远程分支代码,执行 merge 动作把feature/10088合并到 dev 分支,然后自动执行git push,并且自动切回feature/10088分支
shell
  gitmars git:(feature/10088) gitm cb -d
    <!-- 如果本地有需要执行add的文件会出现下面三行提示 start -->
    您有未加入版本的文件,
    如果需要暂存文件请执行: gitm save --force
    恢复时执行:gitm get
    <!-- end -->
    抓取成功
    切换分支成功
    拉取代码成功
    feature/10088合并到dev成功
    推送成功
    切换分支成功
  gitmars git:(feature/10088)

合并分支到 release(prod 环境)

  • 使用:gitm combine feature 10088 --prod
  • 参考:gitm combine

其他写法

  • 使用简写 gitm cb feature 10088 -p
  • 不写分支名 gitm cb -p
  • 同时合并 dev 和 release gitm cb -dp
  • 合并后构建 dev 环境 gitm cb -dpb 注意这里执行-b 并不会构建 prod 环境,因为 feature 功能分支的 prod 环境构建分支是 master,需要执行 publish 才会构建 prod;另外gitm cb -dpb连写时 b 必须在最后,因为-b 是带传参的
  • 结果:程序会自动拉取 release 远程分支代码,执行 merge 动作把feature/10088合并到 release 分支,然后自动执行git push,并且自动切回feature/10088分支
shell
  gitmars git:(feature/10088) gitm cb -p
    抓取成功
    切换分支成功
    拉取代码成功
    feature/10088合并到release成功
    推送成功
    切换分支成功
  gitmars git:(feature/10088)

发版之后结束 feature 分支

  • 使用:gitm end feature 10088
  • 参考:gitm end

其他写法

  • 使用简写 gitm ed feature 10088
  • 不写分支名 gitm ed
  • 结果:程序会把 feature 分支代码合并到 dev 和 release,然后在删除分支,并且自动切回dev分支
shell
  gitmars git:(feature/10088) gitm end
    抓取成功
    切换分支成功
    拉取代码成功
    feature/10088合并到dev成功
    推送成功
    切换分支成功
    抓取成功
    切换分支成功
    拉取代码成功
    feature/10088合并到release成功
    推送成功
    切换分支成功
  gitmars git:(dev)

bugfix

TIP

bugfix 分支用来日常修复 bug,必要时可作为 feature 分支合并到 release

创建 bugfix 分支

例如今天需要修复一个弹窗报错问题,需求编号为 10088

  • 使用:gitm start bugfix 10088
  • 参考:gitm start

其他写法

  • 使用简写 gitm st bugfix 10088
  • 结果:程序会自动拉取远程分支代码,创建一个跟踪 bug 分支的新分支bugfix/10088,创建之后程序会自动切到该新分支
shell
  gitmars git:(bugfix/10088) gitm start bugfix 10088
    抓取成功
    切换分支成功
    拉取代码成功
    切换分支成功
    10088分支创建成功,该分支基于bug创建,您当前已经切换到bugfix/10088
    如果需要提测,请执行gitm combine bugfix 10088
    开发完成后,记得执行: gitm end bugfix 10088
  gitmars git:(bugfix/10088)

WARNING

注意该分支不需要 push 到远程,在本地开发后执行 commit 就行了,不用 push

合并分支到测试环境

  • 使用:gitm combine bugfix 10088 --dev
  • 参考:gitm combine

其他写法

  • 使用简写 gitm cb bugfix 10088 -d
  • 不写分支名 gitm cb -d
  • 合并后构建 dev 环境 gitm cb -db
  • 结果:程序会自动拉取 dev 远程分支代码,执行 merge 动作把bugfix/10088合并到 dev 分支,然后自动执行git push,并且自动切回bugfix/10088分支
shell
  gitmars git:(bugfix/10088) gitm cb -d
    <!-- 如果本地有需要执行add的文件会出现下面三行提示 start -->
    您有未加入版本的文件,
    如果需要暂存文件请执行: gitm save --force
    恢复时执行:gitm get
    <!-- end -->
    抓取成功
    切换分支成功
    拉取代码成功
    bugfix/10088合并到dev成功
    推送成功
    切换分支成功
  gitmars git:(bugfix/10088)

合并分支到 bug(prod 环境)

  • 使用:gitm combine bugfix 10088 --prod
  • 参考:gitm combine

其他写法

  • 使用简写 gitm cb bugfix 10088 -p
  • 不写分支名 gitm cb -p
  • 同时合并 dev 和 bug gitm cb -dp
  • 合并后构建 dev 和 prod 环境 gitm cb -dpb 注意连写时 b 必须在最后,因为-b 是带传参的
  • 结果:程序会自动拉取 bug 远程分支代码,执行 merge 动作把bugfix/10088合并到 bug 分支,然后自动执行git push,并且自动切回bugfix/10088分支
shell
  gitmars git:(bugfix/10088) gitm cb -p
    抓取成功
    切换分支成功
    拉取代码成功
    bugfix/10088合并到bug成功
    推送成功
    切换分支成功
  gitmars git:(bugfix/10088)

发版之后结束 bugfix 分支

  • 使用:gitm end bugfix 10088
  • 参考:gitm end

其他写法

  • 使用简写 gitm ed bugfix 10088
  • 不写分支名 gitm ed
  • 结果:程序会把 bugfix 分支代码合并到 dev 和 bug,然后在删除分支,并且自动切回dev分支
shell
  gitmars git:(bugfix/10088) gitm end
    抓取成功
    切换分支成功
    拉取代码成功
    bugfix/10088合并到dev成功
    推送成功
    切换分支成功
    抓取成功
    切换分支成功
    拉取代码成功
    bugfix/10088合并到bug成功
    推送成功
    切换分支成功
  gitmars git:(dev)

support

TIP

support 分支用来做框架或者公共代码调整,从 master 拉取,合并时同时更新到 bug 和 release

创建 support 分支

例如今天要在原框架基础上新增对 graphql 的支持

  • 使用:gitm start support graphql
  • 参考:gitm start

其他写法

  • 使用简写 gitm st support graphql
  • 结果:程序会自动拉取远程分支代码,创建一个跟踪 master 分支的新分支support/graphql,创建之后程序会自动切到该新分支
shell
  gitmars git:(support/graphql) gitm start support graphql
    抓取成功
    切换分支成功
    拉取代码成功
    切换分支成功
    graphql分支创建成功,该分支基于master创建,您当前已经切换到support/graphql
    如果需要提测,请执行gitm combine support graphql
    开发完成后,记得执行: gitm end support graphql
  gitmars git:(support/graphql)

WARNING

注意该分支不需要 push 到远程,在本地开发后执行 commit 就行了,不用 push

合并分支到测试环境

  • 使用:gitm combine support graphql --dev
  • 参考:gitm combine

其他写法

  • 使用简写 gitm cb support graphql -d
  • 不写分支名 gitm cb -d
  • 合并后构建 dev 环境 gitm cb -db
  • 结果:程序会自动拉取 dev 远程分支代码,执行 merge 动作把support/graphql合并到 dev 分支,然后自动执行git push,并且自动切回support/graphql分支
shell
  gitmars git:(support/graphql) gitm cb -d
    <!-- 如果本地有需要执行add的文件会出现下面三行提示 start -->
    您有未加入版本的文件,
    如果需要暂存文件请执行: gitm save --force
    恢复时执行:gitm get
    <!-- end -->
    抓取成功
    切换分支成功
    拉取代码成功
    support/graphql合并到dev成功
    推送成功
    切换分支成功
  gitmars git:(support/graphql)

合并分支到 bug 和 release(prod 环境)

  • 使用:gitm combine support graphql --prod
  • 参考:gitm combine

其他写法

  • 使用简写 gitm cb support graphql -p
  • 不写分支名 gitm cb -p
  • 同时合并 dev 和 bug 和 release gitm cb -dp
  • 合并后构建 dev 和 prod 环境 gitm cb -dpb 注意这里执行-b 并不会构建 prod 环境,因为 feature 功能分支的 prod 环境构建分支是 master,需要执行 publish 才会构建 prod;另外gitm cb -dpb连写时 b 必须在最后,因为-b 是带传参的
  • 结果:程序会自动拉取 bug 和 release 远程分支代码,执行 merge 动作把support/graphql合并到 bug 和 release 分支,然后自动执行git push,并且自动切回support/graphql分支
shell
  gitmars git:(support/graphql) gitm cb -p
    抓取成功
    切换分支成功
    拉取代码成功
    support/graphql合并到bug成功
    推送成功
    切换分支成功
    拉取代码成功
    support/graphql合并到release成功
    推送成功
    切换分支成功
  gitmars git:(support/graphql)

发版之后结束 support 分支

  • 使用:gitm end support graphql
  • 参考:gitm end

其他写法

  • 使用简写 gitm ed support graphql
  • 不写分支名 gitm ed
  • 结果:程序会把 support 分支代码合并到 dev 和 bug 和 release,然后在删除分支,并且自动切回dev分支
shell
  gitmars git:(support/graphql) gitm end
    抓取成功
    切换分支成功
    拉取代码成功
    support/graphql合并到dev成功
    推送成功
    切换分支成功
    抓取成功
    切换分支成功
    拉取代码成功
    support/graphql合并到bug成功
    推送成功
    切换分支成功
    拉取代码成功
    support/graphql合并到release成功
    推送成功
    切换分支成功
  gitmars git:(dev)

publish

发布 feature

feature 分支基于 release 创建,所以发布的时候会吧 release 合并到 master

其他写法

  • 发布后构建 prod gitm admin publich release -b
  • 结果:程序会自动拉取远程分支代码,合并 release 分支到 master,合并之后程序会自动切回该分支
shell
  gitmars git:(feature/10088) gitm admin publich release
    抓取成功
    切换分支成功
    拉取代码成功
    release合并到master成功
    推送成功
    切换分支成功
  gitmars git:(feature/10088)

发布 bugfix

bugfix 分支基于 bug 创建,所以发布的时候会吧 bug 合并到 master

其他写法

  • 发布后构建 prod gitm admin publich bugfix -b
  • 结果:程序会自动拉取远程分支代码,合并 bug 分支到 master,合并之后程序会自动切回该分支
shell
  gitmars git:(bugfix/10088) gitm admin publich bugfix
    抓取成功
    切换分支成功
    拉取代码成功
    bug合并到master成功
    推送成功
    切换分支成功
  gitmars git:(bugfix/10088)

发布 support

其他写法

  • 发布后构建 prod gitm admin publich support -b
  • 结果:程序会自动拉取远程分支代码,合并 support/graphql 分支到 master,合并之后程序会自动切回该分支
shell
  gitmars git:(support/graphql) gitm admin publich support
    抓取成功
    切换分支成功
    拉取代码成功
    support/graphql合并到master成功
    推送成功
    切换分支成功
  gitmars git:(support/graphql)

效率

copy

复制 commit 记录

build

构建项目

branch

分支操作

...