程序员装逼新技能----利用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总可以吧。

 

posted @ 2020-10-19 22:43  hauner  阅读(704)  评论(0编辑  收藏  举报