🔄 同步 2026-03-12 15:56 | 一场soul的创业实验(书稿)
This commit is contained in:
@@ -11,6 +11,8 @@ REPO_DIR="${1:-$(cd "$(dirname "$0")/.." && pwd)}"
|
|||||||
BRANCH="main"
|
BRANCH="main"
|
||||||
REMOTE_GITEA="gitea"
|
REMOTE_GITEA="gitea"
|
||||||
REMOTE_ORIGIN="origin"
|
REMOTE_ORIGIN="origin"
|
||||||
|
# 默认只同步 gitea;如需同时同步 GitHub,显式设置:export SYNC_WITH_GITHUB=1
|
||||||
|
SYNC_WITH_GITHUB="${SYNC_WITH_GITHUB:-0}"
|
||||||
|
|
||||||
cd "$REPO_DIR" || exit 1
|
cd "$REPO_DIR" || exit 1
|
||||||
|
|
||||||
@@ -64,9 +66,11 @@ commit_if_needed() {
|
|||||||
# 1) 先把本地新增/删除提交掉,保证 pull 时可 rebase/ff
|
# 1) 先把本地新增/删除提交掉,保证 pull 时可 rebase/ff
|
||||||
commit_if_needed
|
commit_if_needed
|
||||||
|
|
||||||
# 2) 再拉取远端新增(GitHub / Gitea 任一端有新提交都能合进来)
|
# 2) 再拉取远端新增(默认只拉 Gitea;避免与 GitHub 分叉时阻塞同步)
|
||||||
ff_merge_remote_branch "$REMOTE_ORIGIN"
|
|
||||||
ff_merge_remote_branch "$REMOTE_GITEA"
|
ff_merge_remote_branch "$REMOTE_GITEA"
|
||||||
|
if [ "$SYNC_WITH_GITHUB" = "1" ]; then
|
||||||
|
ff_merge_remote_branch "$REMOTE_ORIGIN"
|
||||||
|
fi
|
||||||
|
|
||||||
# 3) 拉完后如果又产生本地变更(例如 merge 带来的更新),再补一次提交(一般不会)
|
# 3) 拉完后如果又产生本地变更(例如 merge 带来的更新),再补一次提交(一般不会)
|
||||||
commit_if_needed
|
commit_if_needed
|
||||||
@@ -80,7 +84,7 @@ else
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
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 && \
|
git push "$REMOTE_ORIGIN" "$BRANCH" >/dev/null 2>&1 && \
|
||||||
echo "[gitea_sync] ✅ 已推送到 GitHub(origin)"
|
echo "[gitea_sync] ✅ 已推送到 GitHub(origin)"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user