之前组内童鞋分享了个好用的zsh配置自定义命令,用于合并执行多个git命令,觉得很好用又怕以后换电脑找不着了,在这里记录下。
正常情况下,在本地开发完项目之后,准备发测试环境,需要执行如下操作命令:
// -为当前所在分支
git checkout test
git pull --no-edit
git merge - --no-edit
git push
git checkout -
这一堆命令操作下来并不难,但是由于经常要发测试,经常要执行这样一堆命令,命令之间还有时间gap,以及如果不用git简称手快的话会经常打错字母,所以总体感觉非常繁琐。不要急,铛铛铛铛,救星来了...
步骤1:在终端执行如下命令编辑zsh配置文件(vim下按 i 可进入编辑模式,esc 进入命令模式,:wq 保存并退出编辑模式)
vim ~/.zshrc
步骤2:在.zshrc文件中添加如下函数
// get_current_branch获取当前分支,应该也可以用 -
get_current_branch() {
git symbolic-ref --short -q HEAD
}
function mgp() {
branch=$(get_current_branch)
git push --set-upstream origin $branch
git checkout $1
git pull --no-edit
git merge $branch --no-edit
git push
git checkout $branch
}
步骤3:退出并保存文件,执行如下命令应用配置
source ~/.zshrc
完工。现在你可以在你的本地分支终端上执行如下命令来将当前分支合并到测试环境了:
mgp test
如果合并过程出现冲突,后续命令行将不会执行。这时候就只能手动解决冲突并提交了。然后手动gco -切回功能分支。