32 lines
849 B
Bash
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"
|