git_sync.sh 671 B

123456789101112131415161718
  1. #!/usr/bin/env bash
  2. # Auto-sync local repo to Gogs after every update.
  3. set -e
  4. GOGS_BASE="https://git.zhonjin.com:40717"
  5. OWNER="steven_roc"
  6. REPO="hikvision-isup-client"
  7. TOKEN="${GOGS_TOKEN:-1942ce3d6478f7a572fee3dd4891e49f6c416aad}"
  8. AUTH_URL="https://steven_roc:${TOKEN}@git.zhonjin.com:40717/${OWNER}/${REPO}.git"
  9. BRANCH="${1:-main}"
  10. cd "$(dirname "$0")/.."
  11. [ -d .git ] || git init -q
  12. git add -A
  13. if ! git diff --cached --quiet; then
  14. git commit -q -m "auto-sync $(date '+%Y-%m-%d %H:%M:%S')"
  15. fi
  16. git remote set-url origin "$AUTH_URL" 2>/dev/null || git remote add origin "$AUTH_URL"
  17. git push -q origin "$BRANCH"
  18. echo "synced $BRANCH -> ${GOGS_BASE}/${OWNER}/${REPO}.git"