---
name: Unity Assets 백업 = git 추적 영역 중복 + 컴파일 에러 직접 원인
description: 2026-05-07 발견. `.cs.bak_*.cs` Unity 컴파일 대상 → CS0101. 근본 원인 = C6-1 적용 영역 오해. git 추적 영역(Unity Assets/) 백업 = 불요. C6-1 본래 = git 미추적 영역 한정.
type: feedback
tier: organizational
---

# Unity Assets 백업 = git 추적 영역 중복 + 컴파일 에러 직접 원인

Unity Assets/ 영역 = `D:/EerieVillage` 별도 git 레포(BT3 GitAutoSync 추적) = git이 모든 파일·전 history 보존. 이 영역에 C6-1 백업을 생성하면 (1) git 영역과 100% 중복 (2) `.cs.bak_*.cs` 패턴은 Unity 컴파일 대상 인식 → CS0101 클래스 중복 정의 에러 직접 유발.

**Why**:
- 2026-05-07 PD Unity Editor CS0101 보고로 발견: `Assets\Tests\Editor\PlayerAttackTests.cs.bak_20260507_1253.cs(15,14): error CS0101: ... 'PlayerAttackTests'`
- 누적 잔존 28 파일 (3 회차: 0423·0424·0507) 전수 발견 — 이전 BT5-Dev 1·2·3단계 모두 동일 패턴
- 근본 원인: Phase 1 §12 백업 명세 + Phase 2 적용 + Phase 3 검증 모두 **C6-1 적용 영역을 오해** (git 추적 영역까지 일괄 백업)
- 이전 사건 `feedback_backup_filename_format_violation`(2026-04-19) = 백업 파일명 포맷 영역. 본 사건 = 백업 영역 자체 영역. 별건.

**팩트**:
- C6-1 본래 의도 = git이 추적하지 못하는 영역의 데이터 보호:
  - 밸런싱 xlsm·CSV·JSON 테이블 (binary 또는 git 추적 외)
  - 프로덕션 DB 덤프
  - .gitignore 영역 자산
- Unity Assets/ = `D:/EerieVillage` 별도 git 레포 + GitAutoSync 자동 push = 모든 파일 영구 추적
- 롤백 = `git checkout <hash> -- <file>` 1줄로 가능 (백업 불요)

**How to apply**:

1. **C6-1 백업 의무 영역 = git 미추적 영역 한정**:
   - ✅ 적용: xlsm·CSV·DB 덤프·.gitignore 영역
   - ❌ 적용 금지: git 추적 영역 (코드·Unity asset YAML·prefab·scene 등)

2. **Phase 1 설계 §12 백업 명세 표준**:
   - 백업 대상이 git 추적 영역인지 사전 확인
   - 추적 영역이면 백업 0 + "롤백은 git checkout 활용" 명시
   - 미추적 영역만 백업 (timestamp 포맷 `bak_YYYYMMDD_HHMM` 정합)

3. **Phase 2 적용 시점 자기검증**:
   - 백업 생성 직전 `git ls-files <대상>` 확인 → 추적 영역이면 백업 차단
   - 백업 위치가 Unity Assets/ 안이면 추가 차단 (Unity import·컴파일 노이즈)

4. **Phase 3 검증 시점 자기검증**:
   - 변경 영역에 `bak_YYYYMMDD_*` 잔존 검색 → 발견 시 즉시 정정 권고

**적용 범위**: 개발팀(Phase 1 설계)·클라이언트팀·서버팀(Phase 2 적용)·감사(Phase 3 검증) 전 영역

**연관 규칙**:
- **C6** 데이터 보호 및 프로덕션 보호 — 본 사건의 근본 영역
- **C2** 근원적 문제 해결 — proxy(파일명 정정) ≠ 근본(백업 자체 불요)
- **C39** 작업 전 시스템 반영 실측 — git 추적 여부 사전 확인 의무

**재발 방지 체크리스트** (백업 생성 직전 자기검증):
- [ ] 본 백업 대상이 git 추적 영역인가? (그렇다면 백업 불요)
- [ ] 본 백업 위치가 Unity Assets/ 또는 다른 컴파일·import 영역인가? (그렇다면 외부 영역으로 강제)
- [ ] 롤백 수단으로 git이 충분한가? (충분하면 백업 0)
- [ ] 백업 파일 확장자가 컴파일 대상(`.cs`·`.shader`·`.compute`)을 끝에 두는가? (둔다면 변경)
