피드로 돌아가기
.gitignore Done Right — What to Ignore, Why, and the Pattern Every Production Codebase Uses
Dev.toDev.to
Security

비용 손실 $340을 방지하는 Production 수준의 .gitignore 설계 전략

.gitignore Done Right — What to Ignore, Why, and the Pattern Every Production Codebase Uses

Digvijay Singh2026년 4월 21일8beginner

Context

환경 변수 관리 미흡으로 인한 API Key 유출 시 6분 이내에 봇에 의한 무단 사용 및 금전적 손실이 발생하는 보안 취약점 존재. 무분별한 자동 생성 파일 및 IDE 설정 파일의 Commit으로 인한 Repository Bloat 및 Merge Conflict 빈번 발생.

Technical Solution

  • .env 및 .env.* 패턴 적용을 통한 실무 환경 변수 파일의 Git Tracking 완전 배제
  • !.env.example 예외 패턴 설계를 통한 환경 변수 템플릿 공유 및 Onboarding 마찰 제거
  • .env.example 내 변수별 생성 방법 및 제약 조건 명시를 통한 Runtime Configuration 안정성 확보
  • pycache, .venv 등 머신 종속적 Bytecode 및 가상 환경 파일의 패턴 기반 제외로 저장소 위생 유지
  • git-filter-repo 도구를 활용한 커밋 히스토리 내 민감 정보의 영구적 제거 및 Force-push 전략 수행
  • git check-ignore -v 명령어를 통한 설정 규칙의 정밀 검증 프로세스 도입

- .env.example 파일에 변수 설명, 생성 명령(openssl 등), 필수 제약 조건을 주석으로 포함했는가? - .env.* 패턴을 통해 개발/스테이징/운영 환경의 모든 변수 파일이 제외되었는가? - git ls-files 명령어로 의도치 않게 Tracking 되고 있는 파일이 없는지 확인했는가? - 유출 발생 시 단순 삭제가 아닌 git-filter-repo를 통한 히스토리 세척을 수행했는가?

원문 읽기