执行下面代码定义一个快速合并分支的别名:
git config --global alias.mt '!f() { current_branch=$(git symbolic-ref --short HEAD) && git checkout $1 && git pull && git merge $current_branch -m "merge: Auto merge branch $current_branch into $1" || { echo "自动合并失败,请手动解决"; exit 1; }; git push; git checkout $current_branch; }; f'
如何使用?假设当前在开发分支feat/xxx
,且本地代码已提交,此时我们需要合并到公共预发分支beta
,只需要执行:
# mt 是 merge-to 的缩写
git mt beta
上述命令将会自动执行:
- 切换到
beta
分支; - 拉取
beta
分支; - 合并
feat/xxx
分支到beta
分支(如果合并失败会自动停止后续动作,手动介入即可); - 执行
git push
; - 重新切回
feat/xxx
分支;
是不是简单多了?如果合并失败会自动停止后续动作,手动介入处理即可: