| 12345678910111213141516171819202122232425262728293031323334 |
- #!/bin/bash
- # DTS Monitor Android Git 自动同步脚本
- # 用法: bash scripts/git_auto_sync.sh [commit_message]
- SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
- PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
- cd "$PROJECT_ROOT"
- GOGS_URL="https://git.zhonjin.com:40717/steven_roc/dts_monitor_android.git"
- REMOTE_NAME="gogs"
- CREDENTIALS_FILE="$SCRIPT_DIR/.git_credentials"
- if [ ! -f "$CREDENTIALS_FILE" ]; then
- echo "❌ 凭证文件不存在: $CREDENTIALS_FILE"
- exit 1
- fi
- TOKEN=$(cat "$CREDENTIALS_FILE")
- REMOTE_URL="https://steven_roc:${TOKEN}@git.zhonjin.com:40717/steven_roc/dts_monitor_android.git"
- if ! git remote get-url "$REMOTE_NAME" &>/dev/null; then
- git remote add "$REMOTE_NAME" "$REMOTE_URL"
- echo "✅ 添加远程: $REMOTE_NAME"
- else
- git remote set-url "$REMOTE_NAME" "$REMOTE_URL"
- fi
- COMMIT_MSG="${1:-Auto sync: $(date '+%Y-%m-%d %H:%M:%S')}"
- git add -A
- git diff --cached --quiet && { echo "无变更"; exit 0; }
- git commit -m "$COMMIT_MSG"
- git push "$REMOTE_NAME" master 2>&1 && echo "✅ 推送成功" || {
- git push "$REMOTE_NAME" HEAD:main 2>&1 && echo "✅ 推送成功(main)" || echo "❌ 推送失败"
- }
|