git ignore란?

2coconut·2025년 7월 3일

Git을 사용하다 보면 반드시 만나게 되는 파일이 있다. 바로 .gitignore다. 이 작은 파일 하나가 프로젝트 관리를 훨씬 깔끔하게 만들어준다.

.gitignore란 무엇인가

.gitignore는 Git 버전 관리에서 제외할 파일들을 지정하는 파일이다. 이 파일에 등록된 파일이나 폴더는 Git이 추적하지 않아 커밋 대상에서 자동으로 제외된다.

확장자 없이 파일명이 .gitignore이며, 프로젝트 루트 디렉토리에 위치한다.

왜 .gitignore가 필요한가

불필요한 파일 제외

프로젝트 개발과 무관하거나 빌드 과정에서 생성되는 임시 파일, 컴파일된 결과, IDE 설정 파일 등을 Git repository에 포함하지 않음으로써 저장소 용량과 클론 속도를 최적화할 수 있다.

보안과 개인 정보 보호

암호나 API 키, 인증 토큰과 같이 보안에 민감한 정보가 담긴 파일을 Git으로 관리하지 않도록 한다. 이를 통해 개인 정보 유출 등의 보안 문제를 방지할 수 있다.

버전 관리에서 제외

개발자마다 다르거나 특정 환경에 종속적인 설정 파일들은 버전 관리를 통해 공유할 필요가 없을뿐더러 공유 시 충돌 문제를 야기한다.

.idea 폴더는 IntelliJ의 IDE 옵션(프로젝트별 설정값)을 저장하는 폴더다. IDE의 각 옵션은 작업자의 컴퓨터 환경에 맞춰서 설정되므로, 이를 다른 작업자에게 공유하면 소스 오류가 발생할 수 있어 .gitignore에 추가해야 한다.

.gitignore 사용법

  1. git init을 한 폴더에 .gitignore라는 이름의 파일을 만든다.
  2. 해당 파일 안에 제외할 파일 혹은 폴더를 한 줄씩 작성한다.

문법과 패턴

표현의미
#, 빈라인#은 주석을 의미하며, 빈 라인은 아무런 영향을 주지 않는다
fileName.js특정 파일 fileName을 무시한다
./fileName_1.js현재 경로에 있는 fileName_1만 무시한다
*.a확장자가 .a 인 모든 파일을 무시한다
folderName/my.txt특정 경로의 특정 파일(my.txt)을 제외한다
folderName/해당 폴더의 모든 파일을 무시한다
folderName/**/fileName_2.txt해당 폴더 아래의 모든 fileName_2를 무시한다
folderName/*.a해당 폴더의 확장자가 .a 인 모든 파일을 무시한다
folderName/*/*.a해당 폴더를 포함한 하위 모든 폴더에서 확장자가 .a 인 모든 파일을 무시한다
./*.a현재 폴더의 확장자가 .a 인 모든 파일을 무시한다
!fileName.txt특정 파일을 무시하지 않는다(예외)

상대 경로 표현

표현의미
/root
./현재 위치 (보통 생략)
../상위 경로

중요한 주의사항

이미 Git에 올라가 있는 파일은 .gitignore에 추가해도 계속 추적된다. 이미 버전 관리에 포함된 파일들을 제외하려면 수동으로 Git에서 제거해야 한다.

git rm --cached 파일명
git rm -r --cached 폴더명

.gitignore는 작지만 매우 중요한 파일이다. 프로젝트 초기에 제대로 설정해두면 불필요한 파일들로 인한 문제를 미리 방지할 수 있다.

핵심은 컴파일 결과물, IDE 설정 파일, 민감한 정보, 임시 파일들을 적절히 무시하는 것이다. gitignore.io 같은 도구를 활용하면 쉽게 시작할 수 있다.


profile
컴공학생

0개의 댓글