Skip to content

API 参考

智能导航

gitm go

智能导航指令,只记一条指令就能完成所有功能使用

  • 使用:gitm go
  • 参数:
参数说明类型可选值必填默认
command指令名称Stringcombine、end、update、build、build-mp、miniprogram、start、undo、redo、suggest、approve、review、admin.publish、admin.update、admin.create、admin.clean、admin.approve、branch、copy、get、save、cleanbranch、clean、revert、link、unlink、postmsg-
  • 示例:
shell
gitm go build
  • 演示:

    gitmars-go.gif

配置

gitm init

初始化配置,按照提示输入即可

gitm config

配置查询与设置

设置单个配置

  • 使用:gitm config <option> [value]
  • 参数:
参数说明类型可选值必填默认
option配置名称String--
value配置值String--
  • 示例:
  1. 设置 master 分支名称为 main
shell
gitm config master main
  1. 设置 apollo 配置(json)
shell
gitm config apolloConfig "{ ... }"

查询配置

  • 使用:gitm config list [option]
  • 参数:
参数说明类型可选值必填默认
option配置名称String--
  • 示例:
  1. 查询全部配置
shell
gitm config list
  1. 查询 apollo 配置
shell
gitm config list apolloConfig

工作流

TIP

创建周四任务分支(release)、日常更新 BUG 分支(bugfix)这两种类型的分支、项目框架相关的 support 分支

gitm start

短指令:gitm st

开始任务,创建分支

  • 使用:gitm start <type> <name> [-t --tag <tag>]
  • 参数:
参数说明类型可选值必填默认
type分支类型Stringfeature/bugfix/support-
name分支名称String--
  • 传值:
名称简写说明类型可选值传值必填默认
--tag-t从 tag 创建分支String-true''
  • 示例:
  1. 创建主流程分支
shell
# start bugfix branch
gitm start bugfix 20001
# start feature brancg
gitm start feature 1001
  1. 从 tag 创建 bugfix 分支
shell
# tag 20211010
gitm start bugfix 1001 --tag 20211010

gitm combine

短指令:gitm cb

v2.11.0 新增--description传参 v5.3.0 增加data传值,支持传入额外的参数 v7.0.0 开始支持批量合并

bugfix 分支和 feature 分支需要提交到 dev 或者预发布环境时使用 combine 指令来自动执行合并

  • 使用:gitm combine [type] [name] [-a --add] [-m --commit [message]] [-d --dev] [-p --prod] [-b --build [build]] [--data <data>] [--description [description]] [--no-bugfix] [--as-feature] [-f --force]
  • 参数:
参数说明类型可选值必填默认
type分支类型Stringfeature/bugfix/support当前分支类型
name分支名称String-当前分支名称
  • 传值:
名称简写说明类型可选值传值必填默认
--add-a是否需要执行 addBoolean--false
--commit-m是否需要执行 commit,需要填写 messageString-''
--description本次提交的原因描述String-''
--dev-d是否同步到 dev,与--prod 两者必传一个Boolean--false
--prod-p是否同步到 prod,与--dev 两者必传一个Boolean--false
--build-b需要构建的应用Stringall/...all
--no-bugfix是否不同步到 bug 分支,这个参数仅对 support 分支有效Boolean--false
--as-featurebugfix 分支需要合并到 release 时使用,仅对 bugfix 分支有效Boolean--false
--force-f是否强制发起合并请求Boolean--false
--data需要传输的其他数据,传入JSON字符串String-'{}'
  • 示例:
  1. 合并当前分支到 alpha
shell
gitm combine -d
# or
gitm cb -d
  1. 合并当前分支到 alpha 并构建
shell
gitm combine -d -b
# or
gitm combine -d --build all
# or
gitm cb -d -b gitmars
  1. 合并 bugfix/20001 分支到 alpha 和 prod
shell
gitm combine bugfix 20001 -pd
# or
gitm cb bugfix 20001 -pd
# or
gitm cb 20001 -d
  1. bugfix 分支特殊情况需要合并到 release 时,传入--as-feature
shell
gitm combine bugfix 20001 -p --as-feature
# or
gitm cb -p --as-feature
  1. support 分支提交 prod 时会主动同步 bugfix 分支和 release 分支,传入--no-bugfix 不同步到 bugfix
shell
gitm combine support 20001 -pd --no-bugfix
# or
gitm cb -pd --no-bugfix
  1. 传入其他构建参数
shell
gitm combine -b --data '{"app_id":"xxxxxx"}'
  1. 批量选择feature分支进行合并
shell
# 输入指令并按提示选择要合并的分支
gitm cb feature -d

gitm end

短指令:gitm ed

v2.9.6 版本开始,end指令智能判断是否需要合并代码,不传--no-combine时,不需要合并的时候不会发起合并操作
v2.11.0 新增--description传参 v7.0.0 开始支持批量结束分支

任务完成,合并并删除分支,这个操作会把 20001 这个分支代码合并到 bug 分支并删除 20001 分支(远程的 20001 分支也会同步删除)

  • 使用:gitm end [type] [name] [--description [description]] [--no-combine] [--as-feature]
  • 参数:
参数说明类型可选值必填默认
type分支类型Stringfeature/bugfix/support当前分支类型
name分支名称String-当前分支名称
  • 传值:
名称简写说明类型可选值传值必填默认
--no-combine不合并主干分支(请确保分支已经上线)Boolean--false
--as-featurebugfix 类型的分支合并到 releaseBoolean--false
--description本次提交的原因描述String-''
  • 示例:
  1. 结束 bugfix/20001 分支
shell
gitm end bugfix 20001
# or
gitm ed bugfix 20001
  1. 结束当前分支
shell
gitm end
# or
gitm ed
# 结束但不合并代码
gitm end --no-combine
# 以feature方式合并
gitm end --as-feature
  1. 批量选择feature分支进行清理
shell
# 输入指令并按提示选择要清理的分支
gitm end feature

gitm update

短指令:gitm up

把 bug 分支的最新代码同步到 20001 分支上(--use-rebase 使用 rebase 方法合并,默认 false)

  • 使用:gitm update [type] [name] [--use-merge] [--use-rebase] [-a --all] [-f --force]
  • 参数:
参数说明类型可选值必填默认
type分支类型Stringfeature/bugfix/support当前分支类型
name分支名称String-当前分支名称
  • 传值:
名称简写说明类型可选值传值必填默认
--use-merge是否使用 merge 方式更新代码(准备弃用)Boolean--true
--use-rebase是否使用 rebase 方式更新代码Boolean--false
--all-a是否更新本地所有开发分支Boolean--false
--force-f是否强制发起合并请求Boolean--false
  • 示例:
  1. 升级 bugfix/20001 分支
shell
gitm update bugfix 20001
# or
gitm up bugfix 20001
  1. 使用 rebase 方法升级当前分支
shell
gitm update --use-rebase
# or
gitm up --use-rebase
  1. 升级本地所有开发分支
shell
gitm update --all
# or
gitm up -a
  1. 升级本地所有 feature 分支
shell
gitm update feature --all
# or
gitm up feature -a

gitm continue

短指令:gitm ct

继续未完成的操作

  • 使用:gitm continue
  • 示例:
  • 传值:
名称简写说明类型可选值传值必填默认
--list-l查看未完成的指令列表Boolean--
  1. 继续未完成的操作
shell
gitm continue
# or
gitm ct
  1. 查看未完成的指令列表
shell
gitm continue --list
# or
gitm ct -l

效率

gitm copy

短指令:gitm cp

v4.0.0 重构指令,改造成自选提交记录的方式

复制当前分支上的提交记录到目标分支

  • 使用:gitm copy [commitid...] 或者 gitm copy [--lastet [lastet]] [--limit [limit]] [--no-merges]
  • 参数:
参数说明类型可选值必填默认
commitid需要 copy 的 commitID,可传入多个,空格隔开String--
  • 传值:
名称简写说明类型可选值传值必填默认
--no-merge-排除 merge 记录Boolean-false
--lastet-查询在某个时间之后的日志,填写格式:10s/2m/2h/3d/4M/5yString-'7d'
--limit-最多查询的日志条数Number-20
  • 示例:
  1. 不传 commitid,筛选需要展示的日志(默认显示 20 条)
shell
gitm copy --lastet 7d --limit 100
# or
gitm cp --lastet 7d --limit 100
  1. 传入单个或者多个 commitID
shell
# 形式:gitm copy [commitid...]
gitm copy xxxxxx xxxxxx
# or
gitm cp xxxxxx

gitm build

短指令:gitm bd

v5.3.0 增加data传值,支持传入额外的参数
v6.2.0 新增--confirm 参数 v7.0.0 版本调整为支持选择参数的形式,project参数取消必填限制

该指令用于发起 Jenkins 构建,project 必传,app 名称可传入 all

  • 使用:gitm build [project] [-e --env [env]] [-a --app [app]] [-d --data <data>] [-c --confirm]
  • 参数:
参数说明类型可选值必填默认
project需要构建的项目,不传时,取git地址上的项目名称String--
  • 传值:
名称简写说明类型可选值传值必填默认
--env-e要构建的环境Stringdev/prod/bug-
--app-a需要构建的子项目String--
--data-d需要传输的其他数据,传入JSON字符串String-'{}'
--confirm-c确认开始,为 true 时不显示确认框Boolean-false
  • 示例:
  1. 构建 gitmars 的 app 应用
shell
gitm build gitmars --env dev --app app
  1. 自选参数形式
shell
gitm build

gitm build-mp

短指令:gitm bdm

v7.0.0 版本新增

该指令用于发起 Jenkins 构建小程序

  • 使用:gitm build-mp [project] [-e --env [env]] [--api-env [apiEnv]] [-mp --miniprogram [miniprogram]] [-des --description [description]] [-a --app [app]] [-d --data <data>] [-c --confirm]
  • 参数:
参数说明类型可选值必填默认
project需要构建的项目,不传时,取git地址上的项目名称String--
  • 传值:
名称简写说明类型可选值传值必填默认
--env-e要构建的环境Stringdev/prod/bug-
--api-env要构建的API环境Stringalpha/tag/release/production-
--miniprogram-mp生成体验版小程序String--
--description-des版本描述String--
--app-a需要构建的子项目Stringweapp/alipay/tt/dd/swan-
--data-d需要传输的其他数据,传入JSON字符串String-'{}'
--confirm-c确认开始,为 true 时不显示确认框Boolean-false
  • 示例:
  1. 构建 gitmars 的 app 应用
shell
gitm build-mp gitmars --env dev --app weapp
  1. 自选参数形式
shell
gitm build-mp

gitm miniprogram

短指令:gitm mp

v7.0.0 版本新增

该指令用于操作定制化小程序

  • 使用:gitm miniprogram [miniprogram] [-k --keyword [keyword]]
  • 参数:
参数说明类型可选值必填默认
miniprogram小程序AppID,或者输入auth获取授权码String-auth | String-
  • 传值:
名称简写说明类型可选值传值必填默认
--keyword-k小程序名称,用于模糊搜索String--
  • 示例:
  1. 获取授权码
shell
gitm miniprogram auth
# or
gitm mp
  1. 选择小程序进行操作
shell
gitm miniprogram
# or
gitm miniprogram --keyword 测试
  1. 输入小程序AppID进行操作
shell
gitm miniprogram xxxxxx

gitm branch

短指令:gitm bh

v2.14.2 新增--exclude 和--include 传值

提供分支搜索和删除功能

  • 使用:gitm branch [-k --key] [-t --type] [--exclude [exclude]] [--include [include]] [-r --remote] 或者 gitm branch [-d --delete [name]] [-D --forcedelete [name]] 或者 gitm branch [-u --upstream [upstream]]
  • 传值:
名称简写说明类型可选值传值必填默认
--key-k模糊匹配关键词String--
--exclude排除的分支名,支持正则或字符串String/RegExp--
--include筛选符合条件的分支,支持正则或字符串String/RegExp--
--type-t分支类型,默认查询全部Stringbugfix/feature/support-
--remote-r是否查询远程分支Boolean-false
--delete-d删除本地分支String--
--forcedelete-D强制删除本地分支String--
--upstream-u传入分支名称可绑定分支,不传分支名称则取消绑定String-''
  • 示例:
  1. 查询本地 feature 功能分支
shell
# 形式:gitm branch [-k --key] [-t --type] [--exclude [exclude]] [--include [include]] [-r --remote]
gitm branch --key bug001 --exclude="saqqdy$" --include="wu$" --remote --type feature
# or
gitm bh -k bug001 --exclude="saqqdy$" --include="wu$" -r -t feature
  1. 删除本地分支
shell
# 形式:gitm branch [-d --delete] [-D --forcedelete]
gitm branch -D bugfix/bug001
# or
gitm bh -D bugfix/bug001
  1. 删除本地和远程分支
shell
# 形式:gitm branch [-d --delete] [-D --forcedelete] [-r --remote]
gitm branch -D bugfix/bug001 --remote
# or
gitm bh -D bugfix/bug001 -r
  1. 设置当前分支与远程 feature/1000 分支关联
shell
# 形式:gitm branch [-u --upstream [upstream]]
gitm branch -u feature/1000
  1. 取消当前分支与远程分支的关联
shell
gitm branch -u

gitm revert

短指令:gitm rt

撤销当前分支的某条提交记录,如果需要撤销一条 merge 记录,需要传入撤销方式,1 = 保留当前分支代码;2 = 保留传入代码

  • 使用:gitm revert [commitid] [-m --mode [mode]] 或者 gitm revert [-n --number] [-m --mode [mode]]
  • 参数:
参数说明类型可选值必填默认
commitid要撤回的 idString--
  • 传值:
名称简写说明类型可选值传值必填默认
--number-n撤回倒数 N 条记录,使用时不要传入 commitIDNumber-false
--mode-m撤回 merge 记录时需要保留哪一方的代码,1=保留当前分支,2=保留传入分支Number--
  • 示例:
  1. 撤销最后一次提交(或者撤销倒数第 n 次提交)
shell
# 形式:gitm revert [-n --number] [-m --mode [mode]]
gitm revert -n 3
# or
gitm rt -n 3
  1. 撤销某条提交 id
shell
# 形式:gitm revert [commitid] [-m --mode [mode]]
gitm revert xxxxxx --mode 1
# or
gitm rt xxxxxx -m 1

gitm undo

短指令:gitm ud

v2.15.0 新增指令。新增--no-merges --limit --lastet --calc --calcAll传参,移除--branch传参

撤销当前分支的某条提交记录,或者撤销某条分支的多条合并记录,如果需要撤销一条 merge 记录,需要传入撤销方式,1 = 保留当前分支代码;2 = 保留传入代码

  • 使用:gitm undo [commitid...] [-m --mode [mode]] 或者 gitm undo [--lastet [lastet]] [--limit [limit]] [-m --mode [mode]] [--no-merges] 或者 gitm undo [--calc] [--calcAll]
  • 参数:
参数说明类型可选值必填默认
commitid要撤回的 id,多条 id 空格隔开String--
  • 传值:
名称简写说明类型可选值传值必填默认
--mode-m撤回 merge 记录时需要保留哪一方的代码,1=保留当前分支,2=保留传入分支Number--
--no-merge-排除 merge 记录Boolean-false
--lastet-查询在某个时间之后的日志,填写格式:10s/2m/2h/3d/4M/5yString-'7d'
--limit-最多查询的日志条数Number-20
--calc-清理当前分支撤销失败的记录Boolean-false
--calcAll-清理所有分支撤销失败的记录Boolean-false
  • 示例:
  1. 不传 commitid,显示 log 列表选择要撤销的 commit,如果是 merge 记录,保留当前分支代码
shell
# 形式:gitm undo [-m --mode [mode]]
gitm undo -m 1
# or
gitm ud -m 1
  1. 不传 commitid,筛选需要展示的日志(默认显示 20 条)
shell
gitm undo --lastet 7d --limit 100 --mode 1
# or
gitm ud --lastet 7d --limit 100 --mode 1
  1. 传入单个或者多个 commitID
shell
# 形式:gitm undo [commitid...] [-m --mode [mode]]
gitm undo xxxxxx xxxxxx --mode 1
# or
gitm ud xxxxxx -m 1
  1. 清理当前分支撤销失败的记录
shell
# 形式:gitm undo [--calc] [--calcAll]
gitm undo --calc
# or
gitm ud --calc

gitm redo

短指令:gitm rd

v2.15.0 新增指令

重做当前分支的某条提交记录,或者重做某条分支的多条合并记录,如果需要重做一条 merge 记录,需要传入重做方式,1 = 保留当前分支代码;2 = 保留传入代码

  • 使用:gitm redo [commitid...] [-m --mode [mode]] 或者 gitm redo [-m --mode [mode]]
  • 参数:
参数说明类型可选值必填默认
commitid要撤回的 id,多条 id 空格隔开String--
  • 传值:
名称简写说明类型可选值传值必填默认
--mode-m撤回 merge 记录时需要保留哪一方的代码,1=保留当前分支,2=保留传入分支Number--
  • 示例:
  1. 传入分支名称
shell
# 形式:gitm redo [commitid...] [-m --mode [mode]]
gitm redo xxxxxx xxxxxx --mode 1
# or
gitm rd xxxxxx xxxxxx -m 1
  1. 传入单个或者多个 commitID
shell
# 形式:gitm redo [-m --mode [mode]]
gitm redo --mode 1
# or
gitm rd -m 1

gitm save

短指令:gitm sv

暂存当前分支代码

  • 使用:gitm save [message] [-f --force]
  • 参数:
参数说明类型可选值必填默认
messagestash 的标记信息,默认会存入当前分支名称作为暂存标记信息String-当前分支的名称
  • 传值:
名称简写说明类型可选值传值必填默认
--force-f是否需要把没有加入版本的文件执行 add 之后暂存起来Boolean-false
  • 示例:
  1. 简单使用
shell
gitm save
# or
gitm sv
  1. 暂存没有加入版本控制的文件
shell
gitm save --force
# or
gitm save -f
  1. 设置自定义暂存信息,方便取出
shell
gitm save feature/1000
# or
gitm save "test login"

gitm get

短指令:gitm gt

恢复暂存代码

  • 使用:gitm get [message] [index] [-k --keep]
  • 参数:
参数说明类型可选值必填默认
messagestash 的标记信息,默认会存入当前分支名称作为暂存标记信息String-当前分支的名称
index需要恢复的序号,存在多条记录时默认恢复最近的一条记录Number-0
  • 传值:
名称简写说明类型可选值传值必填默认
--keep-k是否需要保留暂存区的记录Boolean-false
  • 示例:
  1. 简单使用
shell
gitm get
# or
gitm gt
  1. 恢复 feature/1000 分支的暂存记录到当前分支,取第 2 条记录(index 不传默认取第 1 条记录:0)
shell
gitm get feature/1000 1
  1. 恢复时不删除暂存区数据
shell
gitm get --keep
# or
gitm get -k
  1. 恢复暂存信息为“test login”的暂存记录
shell
gitm get "test login"

gitm cleanbranch

短指令:gitm clb

v2.13.0 新增
v2.13.1 新增--list 参数
v2.13.4 新增--confirm 参数
v2.13.6 新增 branches,新增--target
v2.13.9 --except 改成--exclude,用法不变;新增--include 传参;新增--key 传参
v4.0.0 新增--strictly 传参

清理合并过的功能分支

  • 使用:gitm cleanbranch [branches...] [-l --list [list]] [-k --key [keyword]] [--exclude [exclude]] [--include [include]] [-t --type [type]] [--target [target]] [-r --remote] [-c --confirm] [-s --strictly]
  • 参数:
参数说明类型可选值必填默认
branches指定清理分支String--
  • 传值:
名称简写说明类型可选值传值必填默认
--list-l显示符合条件的分支列表Boolean-false
--key-k查询分支的关键词String--
--exclude排除的分支名,支持正则或字符串String/RegExp--
--include筛选符合条件的分支,支持正则或字符串String/RegExp--
--type-t分支类型,支持:feature/bugfix/supportString--
--target需要检测是否合过的目标分支名,不传默认是 develop 和 releaseString--
--remote-r是否清理远程分支,默认清理本地分支Boolean-false
--strictly-s是否开启严格模式Boolean-false
--confirm-c确认开始,为 true 时不显示确认框Boolean-false
  • 示例:
  1. 清理前查看符合条件的分支列表
shell
gitm cleanbranch --remote --exclude "saqqdy$" --include "[a-z]+$" --key "wu" --list
# or
gitm cleanbranch -r --exclude "saqqdy$" --include "[a-z]+$" -k "wu" -l
  1. 清理远程所有功能分支
shell
gitm cleanbranch --remote
# or
gitm cleanbranch -r
  1. 清理远程所有功能分支,除了 exclude 匹配的分支
shell
gitm cleanbranch --remote --exclude "saqqdy$"
# or
gitm cleanbranch -r --exclude "saqqdy$"
  1. 清理本地所有 feature 分支
shell
gitm cleanbranch --type feature
# or
gitm cleanbranch -t feature
  1. 清理指定分支:feature/10000feature/10001
shell
gitm cleanbranch feature/10000 feature/10001
  1. 需要检测是否合过的目标分支名改为只需要合过release分支即可
shell
gitm cleanbranch --target release
  1. 不使用严格模式进行判断
shell
gitm cleanbranch --target release --strictly

gitm log

v1.4.0 新增
v2.15.0 新增--no-merges传参 v2.15.3 新增--json传值,是否以 json 格式输出日志,默认表格方式

查询日志

  • 使用:gitm log [branch] [--lastet [lastet]] [--limit [limit]] [--no-merges] [--json]
  • 参数:
参数说明类型可选值必填默认
branch分支名称String--
- 传值:
名称简写说明类型可选值传值必填默认
--lastet-查询在某个时间之后的日志,填写格式:10s/2m/2h/3d/4M/5yString-'7d'
--limit-最多查询的日志条数Number-20
--no-merge-排除 merge 记录Boolean-false
--json-是否以 json 格式输出日志,默认表格方式Boolean-false
  • 示例:
  1. 查询最近 7 天内的日志,最多 50 条
shell
gitm log --latest 7d --limit 50
  1. 排除 merge 记录
shell
gitm log --no-merges --limit 50
  1. 查看 dev 分支的 log
shell
gitm log dev
  1. 以 json 格式查看日志
shell
gitm log --json

gitm hook

1.4.0 新增

发布操作

  • 使用:gitm hook [command] [args...] [--no-verify] [--lastet [lastet]] [--limit [limit]] [-t --type <type>] [--branch [branch]]
  • 参数:
参数说明类型可选值必填默认
command命令名称String--
  • 传值:
名称简写说明类型可选值传值必填默认
--no-verify-是否需要跳过校验权限Boolean-false
--lastet-查询在某个时间之后的日志,填写格式:10s/2m/2h/3d/4M/5yBoolean--
--limit-最多查询的日志条数Number-20
--type-t检测类型Number-''
--branch-要查询的分支String-''

gitm run

1.4.0 新增

TIP

内部方法,仅支持程序内部使用

run 指令是 gitmars hook 里面执行的内部指令,用来执行钩子方法

  • 使用:gitm run <command> [args...]
  • 参数:
参数说明类型可选值必填默认
command钩子名称String-
args参数列表String-

gitm upgrade

短指令:gitm ug

升级 gitmars 版本,可输入 version 指定版本,选填,默认安装最新版

  • 使用:gitm upgrade [version] [-m --mirror] [-c --client [client]] [-r --registry <registry>]
  • 参数:
参数说明类型可选值必填默认
version要升级的版本号Stringalphabetareleaselitelatestnextx.x.xlatest
  • 传值:
名称简写说明类型可选值传值必填默认
--mirror-m是否使用淘宝镜像升级Boolean-false
--registry-r使用镜像地址String-false
--mirror-m是否使用淘宝镜像升级Boolean-false
  • 示例:
  1. 简单使用
shell
gitm upgrade --mirror
# or
gitm ug -m

gitm clean

清理 gitmars 缓存和本地配置,输入--force 同时清理本地配置文件(慎用)

shell
形式:gitm clean [-f --force]
  • 传值:
名称简写说明类型可选值传值必填默认
--force-f是否清理 gitmars 执行缓存Boolean-false
  • 示例:
shell
gitm clean

gitm approve

短指令:gitm ap

v2.16.0 新增
v2.16.4 移除--postmsg,新增'--quiet'

处理远程合并请求

  • 使用:gitm approve [--state [state]] [--quiet]
  • 参数:无
  • 传值:
名称简写说明类型可选值传值必填默认
--state筛选合并请求的状态Stringopened closed merged allopened
--quiet不要推送消息Booleanfalse
  • 示例:
shell
# 输入指令,按照提示操作
gitm approve --quiet

gitm review

短指令:gitm rv

v2.16.0 新增
v2.16.4 移除--postmsg,新增'--quiet'

远程 review 代码

  • 使用:gitm review [--state [state]] [--quiet]
  • 参数:无
  • 传值:
名称简写说明类型可选值传值必填默认
--state筛选合并请求的状态Stringopened closed merged allopened
--quiet不要推送消息Booleanfalse
  • 示例:
shell
# 输入指令,按照提示操作
gitm review --state merged

gitm status

查看当前分支状态

  • 使用:gitm status

  • 参数:无

  • 传值:无

  • 示例:

shell
gitm status

创建本地包软链接,传入 name 时把依赖包软链到本地包,不传 name 时给当前包创建公共软链

  • 使用:gitm link [name]
  • 参数:
参数说明类型可选值必填默认
name包名称String--
  • 示例 1:链接本地的 tool 包
shell
gitm link tool
  • 示例 2:给当前包创建公共软链
shell
gitm link

传入 name 时解除依赖包软链,不传 name 时删除当前包的公共软链

  • 使用:gitm unlink [name]
  • 参数:
参数说明类型可选值必填默认
name包名称String--
  • 示例 1:解除依赖包软链
shell
gitm unlink tool
  • 示例 2:删除当前包的公共软链
shell
gitm unlink

gitm postmsg

推送消息

  • 使用:gitm postmsg <message> [-u --url [url]]
  • 参数:
参数说明类型可选值必填默认
message消息内容String--
  • 传值:
名称简写说明类型可选值传值必填默认
--url-u自定义推送消息地址String--
  • 示例:
  1. 简单使用
shell
gitm postmsg "测试消息"
  1. 自定义推送地址
shell
gitm postmsg "测试消息" --url "https://github.com/"

gitm alias

短指令:无

v2.18.0 新增

安装和移除快捷方式

  • 使用:gitm alias init or gitm alias remove
  • 参数:无
  • 传值:无
  • 示例:
shell
# 安装
gitm alias init
# 移除
gitm alias remove
  • 运用:
  1. gitm 别名使用
shell
# 创建分支
gitm start feature 100001
# or
git mars start feature 100001
# or
git flow start feature 100001
  1. git 快捷方式
名称指令使用说明
unstagereset HEAD --git unstage file1.js移出暂存区
lastlog -1 HEADgit last显示最近一条日志
ststatusgit stgit 状态
cmcommitgit cm -m "xxxx"提交版本
brbranchgit br分支管理
bhbranchgit bh分支管理
ckcheckoutgit ck dev切换到分支
ckbcheckout -bgit ckb dev master创建分支
cpcherry-pickgit cp xxxxxx复制提交记录
pspushgit ps推送代码到远程
plpullgit pl拉取远程代码
plmpull --mergegit plm通过 merge 方式拉取代码
plrpull --rebasegit plr通过 rebase 方式拉代码
fhfetchgit fh检索远程版本
shstashgit sh存入暂存区
shpstash popgit shp取出暂存区文件
shastash applygit sha取出暂存区文件
mgmergegit mg feature/test合并分支
mgnmerge --no-ffgit mgn feature/test通过--no-ff 方式 merge
rsresetgit rs xxxxxx重置
rshreset --hardgit rsh xxxxxx硬重置
rssreset --softgit rss xxxxxx软重置
rbrebasegit rbrebase

管理员

gitm admin create

创建 release、bugfix、support 和 develop 分支

  • 使用:gitm admin create <type>
  • 参数:
参数说明类型可选值必填默认
type分支类型Stringbugfix/release/develop-
  • 示例:

创建 release 分支

shell
gitm admin create release

gitm admin publish

v2.11.0 新增--description传参 v5.3.0 publish增加data传值,支持传入额外的参数

发布操作

  • 使用:gitm admin publish <type> [--description [description]] [-c --combine] [--use-rebase] [-p --prod] [-b --build [build]] [-d --data <data>] [-p --postmsg] [-f --force]
  • 参数:
参数说明类型可选值必填默认
type分支类型Stringbugfix/release/support-
  • 传值:
名称简写说明类型可选值传值必填默认
--combine-c是否在合并 release 之后会把 release 同步到 bugfix(仅在合并 release 时可用)Boolean-false
--prod-p发布 bugfix 时,是否需要把 bugfix 合并到 masterBoolean-false
--build-b是否使用淘宝镜像升级Boolean-false
--use-rebase是否使用 rebase 执行合并Boolean-false
--postmsg-p是否需要发送群消息Boolean-false
--description本次提交的原因描述String-''
--force-f是否强制发起合并请求Boolean--false
--data-d需要传输的其他数据,传入JSON字符串String-'{}'
  • 示例:
  1. 合并 release 代码到预发环境
shell
gitm admin publish release
  1. 发布并执行构建
shell
# 构建全部
gitm admin publish release --build
# or
gitm admin publish release -b
# 仅构建app
gitm admin publish release --build app
# or
gitm admin publish release -b app
  1. 发布并执行构建,传入其他构建参数
shell
# 构建全部
gitm admin publish release --build --data '{"app_id":"xxxxxx"}'
# or
gitm admin publish release -b -d '{"app_id":"xxxxxx"}'

gitm admin update

v2.11.0 新增--description传参

更新 release、bugfix、support 分支代码,默认走 merge 方法

  • 使用:gitm admin update <type> [--description [description]] [--use-rebase] [-m --mode [mode]] [-p --postmsg] [-f --force]
  • 参数:
参数说明类型可选值必填默认
type分支类型Stringbugfix/release/support-
  • 传值:
名称简写说明类型可选值传值必填默认
--mode-m出现冲突时,保留传入代码还是保留当前代码;1=采用当前 2=采用传入;默认为 0=手动处理。本参数不可与--use-rebase 同时使用Number0/1/20
--use-rebase是否使用 rebase 执行同步Boolean-false
--postmsg-p是否需要发送群消息Boolean-false
--description本次提交的原因描述String-''
--force-f是否强制发起合并请求Boolean--false
  • 示例:
  1. 更新 bug 分支代码
shell
gitm admin update bugfix -m 2
# or
gitm admin up bugfix -m 2

gitm admin clean

Jenkins 构建清理 git 分支专用,可传入 release、bugfix、develop 分支代码

  • 使用:gitm admin clean <type>
  • 参数:
参数说明类型可选值必填默认
type分支类型Stringbugfix/release/support/master-
  • 示例:

清理分支

shell
gitm admin clean bugfix

其他

gitm permission

检测是否骚操作

  • 使用:gitm permission
  • 示例:

gitm version

查看 gitmars 版本号

  • 使用:gitm --version
  • 示例:
shell
gitm --version
# or
gitm -v