Skip to content

API 参考

智能导航

gitm go

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

  • 使用:gitm go
  • 参数:
参数说明类型可选值必填默认
command指令名称Stringcombine、end、update、build、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
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
gitm config master main
  1. 设置 apollo 配置(json)
shell
gitm config apolloConfig "{ ... }"
gitm config apolloConfig "{ ... }"

查询配置

  • 使用:gitm config list [option]
  • 参数:
参数说明类型可选值必填默认
option配置名称String--
  • 示例:
  1. 查询全部配置
shell
gitm config list
gitm config list
  1. 查询 apollo 配置
shell
gitm config list apolloConfig
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
# 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
# tag 20211010
gitm start bugfix 1001 --tag 20211010

gitm combine

短指令:gitm cb

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

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
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
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
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
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
gitm combine support 20001 -pd --no-bugfix
# or
gitm cb -pd --no-bugfix
  1. 传入其他构建参数
shell
gitm combine -b --data '{"app_id":"xxxxxx"}'
gitm combine -b --data '{"app_id":"xxxxxx"}'

gitm end

短指令:gitm ed

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

任务完成,合并并删除分支,这个操作会把 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
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
gitm end
# or
gitm ed
# 结束但不合并代码
gitm end --no-combine
# 以feature方式合并
gitm end --as-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
gitm update bugfix 20001
# or
gitm up bugfix 20001
  1. 使用 rebase 方法升级当前分支
shell
gitm update --use-rebase
# or
gitm up --use-rebase
gitm update --use-rebase
# or
gitm up --use-rebase
  1. 升级本地所有开发分支
shell
gitm update --all
# or
gitm up -a
gitm update --all
# or
gitm up -a
  1. 升级本地所有 feature 分支
shell
gitm update feature --all
# or
gitm up feature -a
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
gitm continue
# or
gitm ct
  1. 查看未完成的指令列表
shell
gitm continue --list
# or
gitm ct -l
gitm continue --list
# or
gitm ct -l

效率

gitm merge

短指令:gitm mg

合并分支,类似 git merge 功能

  • 使用:gitm merge <name>
  • 参数:
参数说明类型可选值必填默认
namemerge 来源String--
  • 示例:

合并 20001 分支到当前分支

shell
gitm merge 20001
# or
gitm mg 20001
gitm merge 20001
# or
gitm mg 20001

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
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 copy [commitid...]
gitm copy xxxxxx xxxxxx
# or
gitm cp xxxxxx

gitm build

短指令:gitm bd

v5.3.0 增加data传值,支持传入额外的参数

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

  • 使用:gitm build <project> [-e --env [env]] [-a --app [app]] [-d --data <data>]
  • 参数:
参数说明类型可选值必填默认
project需要构建的项目String--
  • 传值:
名称简写说明类型可选值传值必填默认
--env-e要构建的环境Stringdev/prod/bug-
--app-a需要构建的子项目String-all
--data-d需要传输的其他数据,传入JSON字符串String-'{}'
  • 示例:
  1. 构建 gitmars 的 app 应用
shell
gitm build gitmars --env dev --app app
gitm build gitmars --env dev --app app

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
# 形式: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
# 形式: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
# 形式: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
# 形式:gitm branch [-u --upstream [upstream]]
gitm branch -u feature/1000
  1. 取消当前分支与远程分支的关联
shell
gitm branch -u
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
# 形式: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 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
# 形式: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
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
# 形式: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 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
# 形式: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 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
gitm save
# or
gitm sv
  1. 暂存没有加入版本控制的文件
shell
gitm save --force
# or
gitm save -f
gitm save --force
# or
gitm save -f
  1. 设置自定义暂存信息,方便取出
shell
gitm save feature/1000
# or
gitm save "test login"
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
gitm get
# or
gitm gt
  1. 恢复 feature/1000 分支的暂存记录到当前分支,取第 2 条记录(index 不传默认取第 1 条记录:0)
shell
gitm get feature/1000 1
gitm get feature/1000 1
  1. 恢复时不删除暂存区数据
shell
gitm get --keep
# or
gitm get -k
gitm get --keep
# or
gitm get -k
  1. 恢复暂存信息为“test login”的暂存记录
shell
gitm get "test login"
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] [-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
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
gitm cleanbranch --remote
# or
gitm cleanbranch -r
  1. 清理远程所有功能分支,除了 exclude 匹配的分支
shell
gitm cleanbranch --remote --exclude "saqqdy$"
# or
gitm cleanbranch -r --exclude "saqqdy$"
gitm cleanbranch --remote --exclude "saqqdy$"
# or
gitm cleanbranch -r --exclude "saqqdy$"
  1. 清理本地所有 feature 分支
shell
gitm cleanbranch --type feature
# or
gitm cleanbranch -t feature
gitm cleanbranch --type feature
# or
gitm cleanbranch -t feature
  1. 清理指定分支:feature/10000feature/10001
shell
gitm cleanbranch feature/10000 feature/10001
gitm cleanbranch feature/10000 feature/10001
  1. 需要检测是否合过的目标分支名改为只需要合过release分支即可
shell
gitm cleanbranch --target release
gitm cleanbranch --target release
  1. 不使用严格模式进行判断
shell
gitm cleanbranch --target release --strictly
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
gitm log --latest 7d --limit 50
  1. 排除 merge 记录
shell
gitm log --no-merges --limit 50
gitm log --no-merges --limit 50
  1. 查看 dev 分支的 log
shell
gitm log dev
gitm log dev
  1. 以 json 格式查看日志
shell
gitm log --json
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 upgrade --mirror
# or
gitm ug -m

gitm clean

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

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

gitm status

查看当前分支状态

  • 使用:gitm status

  • 参数:无

  • 传值:无

  • 示例:

shell
gitm status
gitm status

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

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

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

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

gitm postmsg

推送消息

  • 使用:gitm postmsg <message> [-u --url [url]]
  • 参数:
参数说明类型可选值必填默认
message消息内容String--
  • 传值:
名称简写说明类型可选值传值必填默认
--url-u自定义推送消息地址String--
  • 示例:
  1. 简单使用
shell
gitm postmsg "测试消息"
gitm postmsg "测试消息"
  1. 自定义推送地址
shell
gitm postmsg "测试消息" --url "https://github.com/"
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
# 安装
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
# 创建分支
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 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
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
# 构建全部
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 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 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 admin clean bugfix

其他

gitm permission

检测是否骚操作

  • 使用:gitm permission
  • 示例:

gitm version

查看 gitmars 版本号

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