旨在提高处理反向合并流程的效率,通过批量执行一系列步骤,简化反向合并过程。
- 自动创建修复分支: 根据指定的发布版本(release-xxx)或主分支(master),自动批量创建本地修复分支。
- 批量进行 cherry-pick,基于研发人员提供的修复 commit-id 或者 fix-branch,应用到所有修复分支上。
- 自动生成 Merge Request(MR): 并自动关联修复分支和目标版本,指派给指定的审核人员。
- 二次推送 push:当 MR 已经生成后,又有修复的 commit,可以通过 push 命令进行二次推送,无须重新创建 MR。
- 分支清理: 在MR被合并后,支持删除相关的本地和远程修复分支,以保持代码库的整洁性。
- 不能替代研发自动修复 bug
- 不能替代研发自动解决合并冲突
需要安装 node 环境,版本 >= 12
下载 branch-merge-cli
npm install -g branch-merge-cli
在 git 全局忽略文件中增加 branch-merge-cli.config.js
git config --global core.excludesfile ~/.gitignore_global
echo "branch-merge-cli.config.js" >> ~/.gitignore_global
- 打开终端
- 切换到本地目标仓库地址
- bm-cli init,生成本地配置文件 branch-merge-cli.config.js,更新配置文件中的属性
- bm-cli -b,批量创建本地分支
- bm-cli -c,批量 cherry-pick 到目标本地分支,有冲突请自行解决
- bm-cli -m,批量创建 MR
Usage: bm-cli [options] [command] |
Commands | Description |
---|---|
init | 初始化配置文件 |
options | Description |
---|---|
-V | output the version number |
-b | 按命名规则创建本地分支 |
-c | cherry-pick 到目标本地分支 |
-d [type] | 删除分支,type 可选,可以是 all(全部)或 remote(远程),默认为 local(本地) |
-m | 创建远程 MR |
-p | 推送到远程仓库 |
-h | display help for command |