gitignore
.gitignore
Git을 사용하다 보면, 버전 관리할 필요가 없는 파일들이 많아집니다. 예를 들어, 컴파일 결과물, 로그 파일, 임시 파일, 개인 환경 설정 파일 등은 저장소에 포함할 필요가 없죠. 이때 .gitignore 파일이 핵심 역할을 합니다. .gitignore 파일은 Git에게 "이 파일들은 무시해라"라고 지시하는 설정 파일로, 협업 시 불필요한 파일로 인한 충돌이나 용량 증가를 방지할 수 있습니다.
기본 개념
.gitignore 파일은 프로젝트 루트에 위치하는 것이 일반적입니다. Git은 커밋 시점에 이 파일에 정의된 패턴에 맞는 파일들을 추적하지 않습니다. 이로 인해 개발자마다 생성되는 IDE 설정 파일이나 빌드 결과물이 저장소에 올라가는 것을 미연에 방지할 수 있습니다.
추적 중인 파일은 무시되지 않는다: 이미 버전 관리 중인 파일은 .gitignore에 추가해도 무시되지 않으므로, 불필요한 파일을 제거한 후 다시 ignore 규칙을 적용해야 합니다.
글로벌 ignore 파일: 개인 컴퓨터 전체에서 특정 패턴의 파일을 무시하고 싶다면, Git 설정에서 글로벌 .gitignore 파일을 지정할 수도 있습니다.
규칙과 문법
.gitignore 파일은 패턴 기반으로 동작합니다. 아래는 주요 문법 요소입니다.
#
으로 시작하는 줄은 주석 처리됩니다.슬래시(
/
)는 디렉토리 구분자로 사용됩니다.와일드카드(
*
)를 사용하여 패턴을 지정할 수 있습니다.!
를 앞에 붙이면 특정 파일이나 디렉토리를 예외 처리할 수 있습니다.
다음은 기본 예제입니다.
# 빌드 결과물 무시
/build
/dist
# 로그 파일 무시
*.log
# OS에서 생성하는 임시 파일 무시
.DS_Store
Thumbs.db
# 특정 파일 제외시키기 (예: config 파일은 추적)
!config/example.config
위 예제에서는 /build
와 /dist
디렉토리, 확장자가 .log
인 파일, 그리고 macOS와 Windows에서 생성되는 시스템 파일을 무시합니다. 또한, 일반적으로 무시하더라도 예외로 처리해야 하는 파일은 !
를 사용해 재추적할 수 있습니다.
팁
IDE 및 편집기별 ignore 프로젝트에서 사용하는 IDE(예: IntelliJ, VSCode)의 설정 파일과 캐시 파일들을 미리 지정해두면, 협업 시 서로 다른 환경 설정으로 인한 문제를 줄일 수 있습니다.
# IntelliJ IDEA .idea/ *.iml # VSCode .vscode/
글로벌 .gitignore 설정 개인 컴퓨터에 공통적으로 무시할 파일이 있다면, 아래와 같이 글로벌 ignore 파일을 지정할 수 있습니다.
# 전역 ignore 파일 생성 touch ~/.gitignore_global git config --global core.excludesfile ~/.gitignore_global
이후
~/.gitignore_global
파일에 OS별 임시 파일이나 개인 설정을 추가합니다.특정 환경에 따른 ignore 프로젝트 내 여러 언어와 도구가 혼합되어 있다면, 각 언어 또는 빌드 시스템에 맞춘 ignore 패턴을 구분해 관리하는 것이 좋습니다. GitHub에서는 gitignore 템플릿을 제공하므로 참고하면 좋습니다.
변경 사항 확인 새로운 파일이 Git에 추가되지 않도록 항상
git status
로 ignore 규칙이 제대로 적용되는지 확인합니다. 이미 추가된 파일은git rm --cached <파일명>
명령어를 통해 제거한 후 ignore 적용합니다.
Last updated