Linux的shell脚本

效率是很重要的。将重复繁琐的事情交给计算机处理,工作效率变高的同时也解放了我们自己。

使用过git工具的同学应该很认可它,因为这个工具给软件版本管理任务带来巨大的便利。在工作中,我遇到以下两个问题。
1、git 提交代码把其他分支的merge到当前分支案例。
假如git库有分支a和b,本地库的分支为b分支,修改代码后commit,然而push的时候push到a分支。这样的话会把b分支的一些其他提交也给merge到a分支上。
2、手动添加reviewer
提交代码后需要在浏览器中添加reviewer,网站的访问速度较慢。

面对上面的问题我想通过设计一个shell脚本。这个脚本可以自动判断当前分支并完成提交,同时可以接收参数,参数是reviewer的邮箱前缀。

首先创建一个名为gitpush.sh的脚本文件。
注意事项:

下面是脚本的内容。

#!/bin/bash

这行要写上。是指此脚本使用/bin/bash来解释执行

#获取当前分支
current=`git branch -a | grep \*`

上面的行命令中的符号`,在键盘Tab键上面,数字键1左侧。命令 git branch -a | grep * 在shell终端中执行后输出【* 当前的分支名】。但是在脚本中运行时,current中存储了当前git库中的所有目录和文件名,最后一个是当前的分支名。(不知道为什么)

current_branch=${current##* }

这行命令就是从current字符串最后一次出现空格的位置开始,截取空格右边的所有字符

echo -e "Current branch is ""\033[33m$current_branch\033[0m"

这句话,就是让current_branch以黄色显示。

current_remote=`git remote`

获取远程仓库名。

git push $current_remote HEAD:refs/for/$current_branch%r=$1@email.com,r=$2@email.com
unset current
unset current_remote
unset current_branch

获取到需要的参数后,就可以提交代码了。$0是脚本的名字,我们不需要。这里的$1和$2是运行此脚本输入的参数,比如:

root:~/MyDemo# .gitpush.sh zhangsan lisi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值