自己经常使用的git提交脚本 | 提交输入注释 | shell | bash
Linux
601 ·
0 ·
2023-04-14 08:43:49
最新编辑时间: 2023-04-19 14:54:08
最新编辑原因:
添加检查本地分支是否落后于远程分支,如果是,则先合并远程分支
#!/bin/bash

# 拉取最新代码到本地仓库
git fetch

# 检查本地分支是否落后于远程分支,如果是,则先合并远程分支
if [ -n "$(git status -uno | grep 'Your branch is behind')" ]; then
    echo "本地分支落后于远程分支,先合并远程分支"
    git pull
    echo "合并远程分支完成"
fi

# 获取当前分支
branch=$(git rev-parse --abbrev-ref HEAD)

# 检查是否存在未推送的本地 commit,如果有则先执行推送操作
if [ -n "$(git log origin/${branch}..HEAD --oneline)" ]; then
    echo "存在未推送的本地 commit,先执行推送操作"
    git push 
    echo "push 完成"
fi

# 检查是否存在未提交的修改
if [ -z "$(git status --porcelain)" ]; then
    echo "当前仓库没有未提交的修改,很干净"
    exit 1
fi


# 获取提交注释
if [ -z "$1" ]
  then
    echo "请输入提交注释(如果不想输入,再按一次空格键):"
    read message
    if [ -z "$message" ]
      then
        # echo "提交注释不能为空,请重新运行脚本并输入提交注释"
        # exit 1
        message="default commit message"
    fi
  else
    message="$1"
fi

# 添加所有修改到 Git
git add .

# 提交修改
git commit -m "$message" --no-verify

# 输出提交信息
echo "提交注释:$message"

# 推送代码到远程 Git 仓库
git push

# 输出推送信息
echo "已将代码推送到远程仓库"

本作品系原创,采用《署名-非商业性使用-禁止演绎4.0 国际》许可协议.转载请说明出处
本文链接:https://www.upupor.com/u/3wegLDR0 复制

无内容

推荐阅读