程序员装逼新技能----利用shell脚本自动化推送代码装逼版
程序员装逼新技能----利用shell脚本自动化推送代码
如果下面有看不懂的可以点击上方链接学习前人智慧,然后返回来再接着看。
这里补充一下有些朋友的电脑是win系统。没有设置环境变量不能执行sh命令,不要怕很简单的先找到git安装路径,复制下来。然后右键点击我的电脑选择属性开始设置。
把复制的路径粘贴进去一路确定就设置好了。
用shell脚本自动执行代码的功能实现了,可是有点麻烦。就是每一次都要去.sh文件里改message信息有点繁琐了。(有那个时间基本上命令也敲完了)
于是乎我萌生了一个想法,能不能再外边写提交的message然后执行.sh 文件呢,想干就干。
我看到了这两句话,是不是说只要将变量传进去就可以了能。然后查阅资料发现在执行命令的时候是可以传入参数的。类似下边这样。
npm run server --mode=dev
然后我在git里边做了个实验,首先在package.json 的javascript里边加一句话
然后建立一个文件g.sh
1 echo "$1"
对只有这一句代码。主要是实验一下能否接收到参数。
然后执行命令 npm run ha -- abc
可以看到已经成功输出了参数字符串abc
这里需要注意的是在命令后边要有空格 -- 之后也要有空格,切记切记。
实验成功,那么开始编辑 g.sh 文件
1 branch=`git symbolic-ref --short -q HEAD` 2 echo 'save and pull ......' 3 git add . 4 if [ $# -gt 1 ] 5 then 6 git commit -m "$1" 7 git pull origin "$2" 8 elif [ $# -gt 0 ] 9 then 10 git commit -m "$1" 11 git pull origin dev 12 else 13 git commit -m "修复了一些bug" 14 git pull origin dev 15 fi 16 echo 'push ......' 17 git push origin "$branch" 18 exit
第一行是为了获取当前所在分支名称,
4-15行是判断是几个参数,默认第一个参数是提交的字符串信息。第二个参数决定拉取哪个分支的代码
比如: sh ./g.sh -- '重新整理了提交的逻辑#12' release 就是拉取的release代码主要用于提测后
比如: sh ./g.sh -- 重新整理了提交的逻辑#12' 就是拉取的dev的代码主要用于开发过程
亲测有效。最少在window系统有效。
有兴趣的同学可以试试。掌声想起来。我就不发收款二维码了。感觉好的点个赞,加个关注什么的。最不济喊个666总可以吧。
本文来自博客园,作者:hauner,转载请注明原文链接:https://www.cnblogs.com/hauner/p/13843182.html