?与自己之前写的一篇git的脚本大致类似,不过最近用gerrit较多,改了一下,当个记录。若有老师要用此脚本,切记先安装git review,安装教程网上很多,这里不赘述了。
本文以自定义脚本命令mypush.sh为例
1.找到git安装目录,打开usr/bin,在此处存放.sh脚本文件,一般需要管理员权限才能创建,新建脚本文件mypush.sh
脚本为自己要用的git指令流,举例如下:
#!/bin/bash
# 获取当前分支名称
currentbranch=$(git rev-parse --abbrev-ref HEAD)
# set -e 至 set +e之间代码,如出现冲突,会自动终止脚本。
set -e
# $1命令后的第1个参数 ,这里表示commit信息;
git stash save "$1"
git pull --rebase
git stash apply
set +e
git add .
git commit -m "$1"
git review $currentbranch
脚本开始先用stash保持一下,后面再apply出来,而没有用pop是为了保留现场,一旦提交出错,可以先把代码回到上次pull,再去stash中找回本次修改的代码。
2.配置git bash指令
查找根目录下是否已存在.bash_profile,此文件为隐藏文件,需要用ll -al查询,已有则直接vim修改,没有则需要先touch创建一个?
没有,则需要创建
文件编辑内容如下,其实就是为.sh指定一个命令
保存退出后,再执行一条命令(很重要,否则不起作用)
3.至此,自定义命令mypush就可以在git bash中执行了,无需手动指定分支。
mypush ?commit备注信息
mypush "feature# *********"
再补一条,目前此命令仅能在git bash中使用,如果有朋友想在其他cmd工具中 使用,配置下任务项就好,不详细讲了,以自己用的cmder为例,直接上图:
图中标线处,1是git脚本位置;2是git-cmd.exe位置;3是默认打开目录(这个不是必须)
至此结束,不到之处,请批评指教!
|