fix(githooks): enhance post-commit script to unset local environment variables

This commit is contained in:
2026-06-24 16:30:35 +08:00
parent af033cc87d
commit 8179abe899
2 changed files with 18 additions and 1 deletions
+7 -1
View File
@@ -6,6 +6,7 @@ REPO_ROOT="$(git rev-parse --show-toplevel 2>/dev/null)"
SCRIPT_PATH="$REPO_ROOT/scripts/release/pre_release_web.sh" SCRIPT_PATH="$REPO_ROOT/scripts/release/pre_release_web.sh"
LOG_FILE="$REPO_ROOT/logs/post-commit.log" LOG_FILE="$REPO_ROOT/logs/post-commit.log"
COMMIT_HASH="$(git rev-parse --short HEAD 2>/dev/null || echo unknown)" 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")" mkdir -p "$(dirname "$LOG_FILE")"
@@ -27,7 +28,12 @@ if [ ! -x "$SCRIPT_PATH" ]; then
exit 127 exit 127
fi 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=$? EXIT_CODE=$?
{ {
+11
View File
@@ -1,5 +1,16 @@
#!/bin/bash #!/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 路径 # Test 分支 worktree 路径
WORKTREE_PATH="/Users/chase/Documents/frontend/cozsweet-frontend-nextjs.worktrees/cozsweet-nextjs-test" WORKTREE_PATH="/Users/chase/Documents/frontend/cozsweet-frontend-nextjs.worktrees/cozsweet-nextjs-test"
echo "=== 进入 test 分支 worktree ===" echo "=== 进入 test 分支 worktree ==="