美文网首页
shell执行git提交代码

shell执行git提交代码

作者: Mr_禤 | 来源:发表于2018-07-14 12:30 被阅读0次

我们在日常执行代码提交的时候最常执行的命令流程为:
git add -A
git commt -m"commit something"
git pull
git push
而在前三个步骤,大多数情况下是不会出现问题,经常性的顺序敲三个命令,是否可以偷懒一下只执行一句命令呢?我们来试一下用shell脚本执行以上三个步骤。

新建shell脚本

我们在某个路径下建一个.sh文件,为了将偷懒发挥到极致,就选择 "~/" 用户目录路径吧。
cd ~/
sudo vi gitpull.sh
英文模式下按 "i" 进入编辑模式,
考虑到每次commit要写备注,我们就用shell的传参方式实现备注信息的传入。考虑到 git pull 之后可能需要解决代码冲突,所以自动执行脚本只到 git pull 这一步而已。 脚本内容为:

msg=$1  # $1为第一个参数
git add -A
git commit -m"${msg}"
git pull
git status

按“esc”键退出编辑模式, shift + 冒号 ,输入“wq”保存退出vim 编辑器。

赋予脚本权限

此时执行脚本会报权限不足的错误,我们还需要给 .sh脚本赋予权限
chmod 755 gitpull.sh

开始偷懒吧,测试一下

我们 cd 到项目里,对文件进行改动,如,新建一个 test.txt 文件
touch test.txt
查看状态:
git status
发现 text.txt 文件待 add ,开始执行我们的提交脚本吧
~/gitpull.sh 提交测试文件
刷拉拉下来,完成提交以及 pull,肉眼查看没有冲突,然后就可以进行 git push 推到远程库了。

优化

以上脚本已经实现了 git add -Agit pull 的日常提交操作,有个小问题就是,当你手快忘记写注释,如
~/gitpull.sh
此时执行到 git commit -m"${msg}" 是会停止的。为了更友好,我们把提示信息添加上去吧,修改脚本如下:

msg=$1
if [ -n "$msg" ]; then
   git add -A
   git commit -m"${msg}"
   git pull
   git status
   echo "完成add、commit、pull,别忘了push"
else
    echo "请添加注释再来一遍"
fi

好了,如此,在没有添加注释的时候就会有提示了 ,在需要日常提交的时候使用一下命令即可
~/gitpull.sh something

记得最后要 push!

相关文章

网友评论

      本文标题:shell执行git提交代码

      本文链接:https://www.haomeiwen.com/subject/czoepftx.html