本文以自定义脚本命令mypush.sh为例
1.找到git安装目录,打开usr/bin,在此处存放.sh脚本文件,一般需要管理员权限才能创建,新建脚本文件mypush.sh
脚本为自己要用的git指令流,举例如下:
#!/bin/bash
currentbranch=$(git rev-parse --abbrev-ref HEAD)
set -e
git stash save "$1"
git pull --rebase
git stash apply
set +e
git add .
git commit -m "$1"
git push origin $currentbranch:refs/for/$currentbranch
第一行,声明变量,获取当前分支名称,currentbranch=$(git rev-parse --abbrev-ref HEAD)
其中$n---n为命令后的第几个参数 ,多个参数用空格分开;set -e 至 set +e之间代码,如出现冲突,会自动终止脚本。
上例中,$1为提交信息即commit信息
我这里开始先用stash保持一下,后面再apply出来,而没有用pop是为了保留现场,一旦提交出错,可以先把代码回到上次pull,再去stash中找回本次修改的代码。
2.配置git bash指令
查找根目录下是否已存在.bash_profile,此文件为隐藏文件,需要用ll -al查询,已有则直接vim修改,没有则需要先touch创建一个
没有,则需要创建
文件编辑内容如下,其实就是为.sh指定一个命令
保存退出后,再执行一条命令(很重要,否则不起作用)
3.至此,自定义命令mypush就可以在git bash中执行了,鉴于自己外网没有git项目,先用手机拍一张内网的效果
mypush 分支名 commit备注信息
上面最后push没有成功,这个是因为自己的git环境挂掉导致的,不用关心
再补一条,目前此命令仅能在git bash中使用,如果有朋友想在其他cmd工具中 使用,配置下任务项就好,不详细讲了,以自己用的cmder为例,直接上图:
图中标线处,1是git脚本位置;2是git-cmd.exe位置;3是默认打开目录(这个不是必须)
至此结束,不到之处,请批评指教!