Skip to main content

.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 주석 사용

# 로그 파일 무시
*.log

3.3 제외 항목 설정

# 모든 .env 파일은 무시
*.env

# 단, .env.example은 추적
!.env.example

4. 자주 사용하는 .gitignore 예시

4.1 Node.js

node_modules/
npm-debug.log
.env
dist/

4.2 Python

__pycache__/
*.py[cod]
.env
*.sqlite3

4.3 Java (IntelliJ 포함)

*.class
*.jar
*.war
*.log
target/
.idea/
*.iml

5. 이미 추적 중인 파일 무시하기

.gitignore에 추가했지만 이미 추적 중인 파일은 무시되지 않는다.

5.1 캐시 삭제 후 반영

git rm --cached 파일명

또는 전체 캐시 삭제:

git rm -r --cached .
git add .
git commit -m "Update .gitignore rules"

6. .gitignore 생성 도구 추천


✅ 참고 팁

  • .gitignore로컬에서만 적용되는 규칙이며, Git이 실제로 commit할 파일을 결정하는 기준이다.
  • 회사/협업 프로젝트는 공통된 .gitignore 템플릿을 맞춰야 충돌 예방 가능
  • .git/info/exclude를 사용하면 개인용 ignore 설정도 가능 (공유 안 됨)