最近进行官网API文档发版管理,经常有批量分支要合并,所以花了十来分钟写了这样一个简易脚本,大家可以在次基础上自由发挥。
rebaseBranch(){
if [ $1 -eq 0 ];then
echo '请输入合并分支'
return 1;
fi
local branches=$1
local branchesArray=(`echo ${branches//,/ }`);
for branch in $branchesArray
do
echo "$branch";
git checkout $branch;
git fetch;
git reset --hard origin/$branch;
git rebase origin/master;
git push -f;
echo '合并master';
git checkout master;
git pull;
git rebase $branch;
git push;
echo "${branch}合并到master";
done
}
代码如上,我的系统是ubuntu,装了oh my zash,将上面方法定义到~/.zshrc,然后执行 source ~/.zshrc后即可使用。
使用方式如下:
rebaseBranch ts_xxx,cs_xxx
代码详解:
if [ $1 -eq 0 ];then
echo '请输入合并分支'
return 1;
fi
这里判断参数是否为空,如果为空即警告
local branches=$1
local branchesArray=(`echo ${branches//,/ }`);
拿到参数并转为shell里面的数组
最后循环取出做合并操作,合并部分逻辑大家可以自行修改。