Git提交脚本,快速提交代码方式


前言

使用 Git 工具,提交代码的时候每次都需要手敲 add commitpullpushmerge等命令,使用图形界面的还需要手动点击对应按钮才行。所以咱习惯配置一些脚本来执行提交、拉取等命令来快速操作。本文咱以脚本文件(以 .sh 结尾)来处理。当然,这种方式也是在刚出来工作的时候,在大佬手里学习到的~~


一、什么是.sh 文件?

  • 被称为脚本Bash的应用程序和使用开发人员文件。

二、使用方式

首先脚本配置需要知道当前需要提交、拉取、推送的具体分支,以下有三种方式可获取当前分支名称

  • git branch | grep "*"
  • git symbolic-ref --short -q HEAD
  • git rev-parse --abbrev-ref HEAD

可能在vscode内终端会提示错误,选择对应可执行的方式即可
在这里插入图片描述

具体配置如下

咱一般习惯在项目更目录新建 sh 文件,然后分别新建 add.shbuild.shpull.shmerge.shrebase.sh 文件,具体内容如下:

提交脚本

  • add.sh – 提交代码时执行的脚本文件
#!/usr/bin/env bash
echo "请输入提交的原因:"
read REASON

if [ "$REASON"x = ""x ]; then
echo "请输入提交原因:"
exit 0
fi

cd ../

branchName=`git rev-parse --abbrev-ref HEAD`
git add .
git commit -m "${REASON}"
git pull origin $branchName
git push origin $branchName

使用方式很简单

首先使用终端进入sh目录,执行 sh add.sh命令。一般咱习惯 输入 sh a 再按下 Tab 键找到对应的 add.sh

然后会输出需要提交的原因,按照实际提交内容备注说明即可,输入完之后按下Enter键即可

可以看出命令会先提示需要提交的原因,即代码提交备注。且自动获取当前git分支,然后提交和推送。

构建脚本

  • build.sh – 构建命名,根据实际的 package.json 配置输出提示即可,一般有 sit测试环境、 uat业务验收环境和prod生存
#!/usr/bin/env bash
echo "请输入构建环境sit/uat/prod:"
read ENV

if [ "$ENV"x = ""x ]; then
echo "请输入构建环境sit/uat/prod:"
exit 0
fi

cd ../

npm run "${ENV}"

执行 sh build.sh, 然后输入对应需要构建的环境即可

拉取脚本

  • pull.sh 拉取最新代码
#!/usr/bin/env bash

cd ../

branchName=`git rev-parse --abbrev-ref HEAD`
git pull origin $branchName

执行 sh pull.sh 即可

合并脚本

  • merge.sh 这个脚本是合并分支的时候使用,具体是先确认当前分支然后再确认需要被合并的分支
#!/usr/bin/env bash
cd ../
git branch

echo "请输入被合并的分支名称:"
read BRANCH

if [ "$BRANCH"x = ""x ]; then
echo '请输入被合并的分支名称:'
exit 0
fi
branchName=`git rev-parse --abbrev-ref HEAD`

if [ "$BRANCH"x != ""x ]; then
    echo "请确认当前分支是{${branchName}}分支,并确认当前分支需合并的分支名称为{${BRANCH}} ----  并确认在输入yes Or no?";
    read BOOL
    case "$BOOL" in
        "yes") echo "确认合并";
        git merge ${BRANCH};
        echo "合并成功";
        ;;
        "no") echo "取消合并";
        ;;
    esac
exit 0
fi

变基提交脚本

  • rebase.sh 这个脚本需要使用了自个分支的时候使用,一般是比较少使用的,也是用于记录当前开发者代码量等比较好的一种方式,这里不多介绍哈,有兴趣的可自行查阅相关资料了解
#!/usr/bin/env bash

branchName=`git rev-parse --abbrev-ref HEAD`

cd ../

git fetch upstream
git rebase upstream/$branchName

执行 sh rebase.sh 即可

三、总结

个人感觉使用了上述脚本配置后,可以快速操作git相关操作,且无需记住分支名称(有些项目组新建的分支名很难记,当前这种命令就很好解决分支搞错的情况)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值