🔧 chore: pre-commit 훅 추가하여 .claude/common 변경 방지
This commit is contained in:
@@ -136,6 +136,33 @@ if [[ -d "$SKILLS_SRC" ]]; then
|
||||
done
|
||||
fi
|
||||
|
||||
# 7) pre-commit 훅: .claude/common 변경 커밋 방지
|
||||
HOOK_DIR="$(git rev-parse --git-dir)/hooks"
|
||||
HOOK_FILE="$HOOK_DIR/pre-commit"
|
||||
HOOK_MARKER="# gameservice-fe-agent: block .claude/common commit"
|
||||
|
||||
mkdir -p "$HOOK_DIR"
|
||||
|
||||
if [[ -f "$HOOK_FILE" ]] && grep -qF "$HOOK_MARKER" "$HOOK_FILE"; then
|
||||
echo "ℹ️ pre-commit 훅에 .claude/common 보호 규칙이 이미 있습니다. 건너뜁니다."
|
||||
else
|
||||
# 훅이 없으면 새로 생성, 있으면 기존 훅 뒤에 추가
|
||||
if [[ ! -f "$HOOK_FILE" ]]; then
|
||||
echo "#!/usr/bin/env bash" > "$HOOK_FILE"
|
||||
fi
|
||||
cat >> "$HOOK_FILE" <<'HOOK'
|
||||
|
||||
# gameservice-fe-agent: block .claude/common commit
|
||||
if git diff --cached --name-only | grep -q "^\.claude/common"; then
|
||||
echo "❌ .claude/common (gameservice-fe-agent submodule) 변경은 커밋할 수 없습니다."
|
||||
echo " 공통 지침 수정은 gameservice-fe-agent 저장소에서 PR을 통해 진행해 주세요."
|
||||
exit 1
|
||||
fi
|
||||
HOOK
|
||||
chmod +x "$HOOK_FILE"
|
||||
echo "✅ pre-commit 훅을 설치했습니다. (.claude/common 변경 커밋 방지)"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "🎉 설치가 완료되었습니다."
|
||||
echo " - 공통 지침: $TARGET_PATH/CLAUDE.md"
|
||||
|
||||
Reference in New Issue
Block a user