Files
dukang/deploy/git-push-dev-jacy.sh
T

32 lines
849 B
Bash

#!/usr/bin/env bash
# 推送当前 dev_jacy 分支到远程 origin/dev_jacy
# 用法: deploy/git-push-dev-jacy.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
GIT_REMOTE="${GIT_REMOTE:-origin}"
DEV_BRANCH="${DEV_BRANCH:-dev_jacy}"
cd "$REPO_ROOT"
if [[ -n "$(git status --porcelain)" ]]; then
echo "ERROR: 工作区有未提交更改,请先 commit 或 stash" >&2
exit 1
fi
CURRENT="$(git branch --show-current)"
if [[ "$CURRENT" != "$DEV_BRANCH" ]]; then
echo "ERROR: 当前分支为 $CURRENT,请先 checkout $DEV_BRANCH" >&2
exit 1
fi
echo "==> fetch $GIT_REMOTE"
git fetch "$GIT_REMOTE"
echo "==> push $DEV_BRANCH -> $GIT_REMOTE/$DEV_BRANCH"
git push -u "$GIT_REMOTE" "$DEV_BRANCH"
echo "==> 完成: $(git rev-parse --short HEAD) 已推送到 $GIT_REMOTE/$DEV_BRANCH"