v4.0.17企业微信API插件优化
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
# 将 dev_jacy 合并到 dev 并推送(staging 测试分支)
|
||||
# 用法: deploy/git-sync-to-dev.sh [merge message]
|
||||
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}"
|
||||
STAGING_BRANCH="${STAGING_BRANCH:-dev}"
|
||||
|
||||
MERGE_MSG="${1:-merge($DEV_BRANCH): sync to $STAGING_BRANCH}"
|
||||
|
||||
cd "$REPO_ROOT"
|
||||
|
||||
if [[ -n "$(git status --porcelain)" ]]; then
|
||||
echo "ERROR: 工作区有未提交更改,请先 commit 或 stash" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ORIGINAL="$(git branch --show-current)"
|
||||
|
||||
echo "==> fetch $GIT_REMOTE"
|
||||
git fetch "$GIT_REMOTE"
|
||||
|
||||
if git show-ref --verify --quiet "refs/heads/$DEV_BRANCH"; then
|
||||
echo "==> push $DEV_BRANCH"
|
||||
git push "$GIT_REMOTE" "$DEV_BRANCH"
|
||||
fi
|
||||
|
||||
echo "==> checkout $STAGING_BRANCH"
|
||||
git checkout "$STAGING_BRANCH"
|
||||
git pull "$GIT_REMOTE" "$STAGING_BRANCH"
|
||||
|
||||
echo "==> merge $DEV_BRANCH -> $STAGING_BRANCH"
|
||||
git merge "$DEV_BRANCH" -m "$MERGE_MSG"
|
||||
|
||||
echo "==> push $STAGING_BRANCH"
|
||||
git push "$GIT_REMOTE" "$STAGING_BRANCH"
|
||||
|
||||
if git show-ref --verify --quiet "refs/heads/$DEV_BRANCH"; then
|
||||
echo "==> checkout $DEV_BRANCH"
|
||||
git checkout "$DEV_BRANCH"
|
||||
elif [[ "$ORIGINAL" != "$STAGING_BRANCH" ]]; then
|
||||
echo "==> checkout $ORIGINAL"
|
||||
git checkout "$ORIGINAL"
|
||||
fi
|
||||
|
||||
echo "==> 完成: $STAGING_BRANCH = $(git rev-parse --short HEAD)"
|
||||
Reference in New Issue
Block a user