# .gitignore # .gitignore 설정 --- ## 1. `.gitignore`란? - `.gitignore`는 Git이 ****추적하지 않을 파일/폴더****를 명시하는 설정 파일이다. - 주로 아래와 같은 파일들을 제외할 때 사용한다: - OS/IDE 생성 파일 (`.DS_Store`, `Thumbs.db`, `.vscode/`) - 로그, 빌드 결과물 (`*.log`, `dist/`, `build/`) - 민감 정보 (`.env`, `*.pem`, `secret.txt`) - 의존성 디렉토리 (`node_modules/`, `vendor/`) --- ## 2. 작성 위치 - `.gitignore` 파일은 ****저장소 루트 경로****에 위치한다. - 하위 폴더에 별도로 둘 수도 있으나, 일반적으로 루트에 하나만 둠. --- ## 3. 패턴 작성법 ### 3.1 기본 규칙
패턴 설명
`*.log` `.log` 확장자 파일 전체 무시
`build/` `build` 디렉토리 무시
`/secret.txt` 루트 경로의 `secret.txt`만 무시
`*.pem` `.pem` 인증서 파일 전체 무시
`!.gitignore` `.gitignore` 파일은 무시하지 않음
--- ### 3.2 주석 사용 ```gitignore # 로그 파일 무시 *.log ``` --- ### 3.3 제외 항목 설정 ```gitignore # 모든 .env 파일은 무시 *.env # 단, .env.example은 추적 !.env.example ``` --- ## 4. 자주 사용하는 .gitignore 예시 ### 4.1 Node.js ```gitignore node_modules/ npm-debug.log .env dist/ ``` ### 4.2 Python ```gitignore __pycache__/ *.py[cod] .env *.sqlite3 ``` ### 4.3 Java (IntelliJ 포함) ```gitignore *.class *.jar *.war *.log target/ .idea/ *.iml ``` --- ## 5. 이미 추적 중인 파일 무시하기 > `.gitignore`에 추가했지만 이미 추적 중인 파일은 무시되지 않는다. ### 5.1 캐시 삭제 후 반영 ```bash git rm --cached 파일명 ``` 또는 전체 캐시 삭제: ```bash git rm -r --cached . git add . git commit -m "Update .gitignore rules" ``` --- ## 6. .gitignore 생성 도구 추천 - [https://www.toptal.com/developers/gitignore](#bkmrk--10) → 언어/프레임워크/IDE 선택만 하면 자동 생성 --- ## ✅ 참고 팁 - `.gitignore`****로컬에서만 적용되는 규칙****이며, Git이 실제로 ****commit할 파일을 결정****하는 기준이다. - 회사/협업 프로젝트는 공통된 `.gitignore` 템플릿을 맞춰야 충돌 예방 가능 - `.git/info/exclude`를 사용하면 ****개인용 ignore 설정****도 가능 (공유 안 됨) ---