diff --git a/scripts/gitea_sync.sh b/scripts/gitea_sync.sh index f3ff800..d75f602 100755 --- a/scripts/gitea_sync.sh +++ b/scripts/gitea_sync.sh @@ -11,6 +11,8 @@ REPO_DIR="${1:-$(cd "$(dirname "$0")/.." && pwd)}" BRANCH="main" REMOTE_GITEA="gitea" REMOTE_ORIGIN="origin" +# 默认只同步 gitea;如需同时同步 GitHub,显式设置:export SYNC_WITH_GITHUB=1 +SYNC_WITH_GITHUB="${SYNC_WITH_GITHUB:-0}" cd "$REPO_DIR" || exit 1 @@ -64,9 +66,11 @@ commit_if_needed() { # 1) 先把本地新增/删除提交掉,保证 pull 时可 rebase/ff commit_if_needed -# 2) 再拉取远端新增(GitHub / Gitea 任一端有新提交都能合进来) -ff_merge_remote_branch "$REMOTE_ORIGIN" +# 2) 再拉取远端新增(默认只拉 Gitea;避免与 GitHub 分叉时阻塞同步) ff_merge_remote_branch "$REMOTE_GITEA" +if [ "$SYNC_WITH_GITHUB" = "1" ]; then + ff_merge_remote_branch "$REMOTE_ORIGIN" +fi # 3) 拉完后如果又产生本地变更(例如 merge 带来的更新),再补一次提交(一般不会) commit_if_needed @@ -80,7 +84,7 @@ else exit 1 fi -if has_remote "$REMOTE_ORIGIN"; then +if [ "$SYNC_WITH_GITHUB" = "1" ] && has_remote "$REMOTE_ORIGIN"; then git push "$REMOTE_ORIGIN" "$BRANCH" >/dev/null 2>&1 && \ echo "[gitea_sync] ✅ 已推送到 GitHub(origin)" fi