From 697dce64b139fe8baa18e266986d6b96fd12066e Mon Sep 17 00:00:00 2001 From: chenhang Date: Tue, 16 Jun 2026 15:39:00 +0800 Subject: [PATCH] chore: remove bold markers from Chinese characters in post-receive hook comments --- .githooks/post-receive | 48 +++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/.githooks/post-receive b/.githooks/post-receive index c02ba4e2..d5020949 100755 --- a/.githooks/post-receive +++ b/.githooks/post-receive @@ -11,11 +11,11 @@ REPO_TOPLEVEL="$(git rev-parse --show-toplevel 2>/dev/null || echo "$PWD")" cd "$REPO_TOPLEVEL" || { echo "FATAL: cannot cd to $REPO_TOPLEVEL" >&2; exit 1; } # ============================================================ -# 0. sync_worktree —— 将**工**作**树**同步到**新** push 的 HEAD +# 0. sync_worktree —— 将工作树同步到新 push 的 HEAD # 背景:服务器 .git/config 设了 receive.denyCurrentBranch=updateInstead 时 -# git 自**动**更**新**工作**树**但**会**跳过**此**钩子;**改**为 false 后 -# git **不**会**更**新**工作**树**,**手**动 reset --hard 同步**才**能**让**下**面** -# 的 build **用**上**新**代**码**。 +# git 自动更新工作树但会跳过此钩子;改为 false 后 +# git 不会更新工作树,手动 reset --hard 同步才能让下面 +# 的 build 用上新代码。 # ============================================================ sync_worktree() { echo "=== sync_worktree: git reset --hard HEAD @ $(date -u +%Y-%m-%dT%H:%M:%SZ) ===" @@ -23,7 +23,7 @@ sync_worktree() { } # ============================================================ -# 1. init_log_file —— 定**义** LOG_FILE + 创**建** logs/ 目**录** +# 1. init_log_file —— 定义 LOG_FILE + 创建 logs/ 目录 # ============================================================ init_log_file() { LOG_FILE="$REPO_TOPLEVEL/logs/post-receive.log" @@ -31,7 +31,7 @@ init_log_file() { } # ============================================================ -# 2. write_metadata_header —— **覆**盖写**入**元信息(**首**次**写** → **覆**盖**让日志**开**头是**这**个) +# 2. write_metadata_header —— 覆盖写入元信息(首次写 → 覆盖让日志开头是这个) # ============================================================ write_metadata_header() { { @@ -44,10 +44,10 @@ write_metadata_header() { } # ============================================================ -# 3. copy_env_by_branch —— 根**据**分支选 env-example → .env +# 3. copy_env_by_branch —— 根据分支选 env-example → .env # main 分支 → .env.production(prod 部署) -# test 分支 → .env.local(test **不**碰 .env.production,**避**免**读**到 prod 域名) -# dev 分支 → .env.local(**未**配远端**用**途,**但**保**留**) +# test 分支 → .env.local(test 不碰 .env.production,避免读到 prod 域名) +# dev 分支 → .env.local(未配远端用途,但保留) # ============================================================ copy_env_by_branch() { CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD) @@ -72,8 +72,8 @@ copy_env_by_branch() { } # ============================================================ -# 4. run_build —— 跑 `pnpm run build`,输出**丢**,**捕**获退出码写日志 -# 返回:build 退出码(main **用** if ! run_build 决**定**是否**继**续) +# 4. run_build —— 跑 `pnpm run build`,输出丢,捕获退出码写日志 +# 返回:build 退出码(main 用 if ! run_build 决定是否继续) # ============================================================ run_build() { echo "=== build START @ $(date -u +%Y-%m-%dT%H:%M:%SZ) ===" >> "$LOG_FILE" @@ -85,10 +85,10 @@ run_build() { } # ============================================================ -# 5. stop_existing_next —— 两阶段 kill + 等 1s 确**保**端口**完**全释放 -# 1) 优**雅**关**闭**(SIGTERM)—— 旧**进**程**自**己 drain +# 5. stop_existing_next —— 两阶段 kill + 等 1s 确保端口完全释放 +# 1) 优雅关闭(SIGTERM)—— 旧进程自己 drain # 2) 等 2s -# 3) 强杀(SIGKILL)—— **还**在**的**话 +# 3) 强杀(SIGKILL)—— 还在的话 # 4) 等 1s # ============================================================ stop_existing_next() { @@ -104,10 +104,10 @@ stop_existing_next() { } # ============================================================ -# 6. launch_next —— 后**台**启 `pnpm run start`,捕 PID +# 6. launch_next —— 后台启 `pnpm run start`,捕 PID # ============================================================ launch_next() { - # next stdout/stderr 接**到** logs/next-server.log(**覆**盖**模式**,**每**次 deploy **重**新**开**始) + # next stdout/stderr 接到 logs/next-server.log(覆盖模式,每次 deploy 重新开始) NEXT_LOG_FILE="$REPO_TOPLEVEL/logs/next-server.log" echo "=== start LAUNCH @ $(date -u +%Y-%m-%dT%H:%M:%SZ) ===" >> "$LOG_FILE" nohup pnpm run start > "$NEXT_LOG_FILE" 2>&1 & @@ -116,30 +116,30 @@ launch_next() { } # ============================================================ -# 7. log_abort —— build 失败**时**写**结**束**标**记(**不**输**出** START LAUNCH) +# 7. log_abort —— build 失败时写结束标记(不输出 START LAUNCH) # ============================================================ log_abort() { echo "=== ABORTED @ $(date -u +%Y-%m-%dT%H:%M:%SZ) (build failed, start skipped) ===" >> "$LOG_FILE" } # ============================================================ -# main —— 调**度**所**有**步骤 +# main —— 调度所有步骤 # ============================================================ main() { init_log_file - sync_worktree # **先**同步工作**树**到**新** HEAD(**与** git config denyCurrentBranch 配**合**) - write_metadata_header # **先**覆盖写元信息(**这**样 env copy 日**志****能**保留在**后**面) - copy_env_by_branch # **追**加 env copy 日志 + sync_worktree # 先同步工作树到新 HEAD(与 git config denyCurrentBranch 配合) + write_metadata_header # 先覆盖写元信息(这样 env copy 日志能保留在后面) + copy_env_by_branch # 追加 env copy 日志 if ! run_build; then log_abort - exit $BUILD_EXIT # build 失败 → **不**启 start(**避**免**用**旧 .next **跑**新代码) + exit $BUILD_EXIT # build 失败 → 不启 start(避免用旧 .next 跑新代码) fi - stop_existing_next # build 成功 → **先**关旧**进**程 + stop_existing_next # build 成功 → 先关旧进程 launch_next # 再启新 } main "$@" -exit 0 +exit 0 \ No newline at end of file