diff --git a/.githooks/post-commit b/.githooks/post-commit index b57fc6ab..c276443a 100755 --- a/.githooks/post-commit +++ b/.githooks/post-commit @@ -6,6 +6,7 @@ REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null)" SCRIPT_PATH="$REPO_ROOT/scripts/release/pre_release_web.sh" LOG_FILE="$REPO_ROOT/logs/post-commit.log" COMMIT_HASH="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)" +GIT_LOCAL_ENV_VARS="$(git rev-parse --local-env-vars 2>/dev/null || true)" mkdir -p "$(dirname "$LOG_FILE")" @@ -27,7 +28,12 @@ if [ ! -x "$SCRIPT_PATH" ]; then exit 127 fi -"$SCRIPT_PATH" >> "$LOG_FILE" 2>&1 +( + for var in $GIT_LOCAL_ENV_VARS; do + unset "$var" + done + "$SCRIPT_PATH" +) >> "$LOG_FILE" 2>&1 EXIT_CODE=$? { diff --git a/scripts/release/pre_release_web.sh b/scripts/release/pre_release_web.sh index 38ac7853..80fd2154 100755 --- a/scripts/release/pre_release_web.sh +++ b/scripts/release/pre_release_web.sh @@ -1,5 +1,16 @@ #!/bin/bash +set -euo pipefail + +unset_git_hook_env() { + local var + while IFS= read -r var; do + [ -n "$var" ] && unset "$var" + done < <(git rev-parse --local-env-vars 2>/dev/null || true) +} + +unset_git_hook_env + # Test 分支 worktree 路径 WORKTREE_PATH="/Users/chase/Documents/frontend/cozsweet-frontend-nextjs.worktrees/cozsweet-nextjs-test" echo "=== 进入 test 分支 worktree ==="