Git으로 프로젝트를 관리할 때, 그 프로젝트 안의 특정파일들은 Git으로 관리할 필요가 없는 경우가 있다. 예를 들어, 개인적인 정보가 담긴 파일이나 NodeJS-Express로 개발할 때 npm module 등은 보통 Git 저장소에 포함시키지 않는 것이 좋다.
.gitignore 파일은 이러한 제외할 파일들의 목록을 기록하여 Git이 해당 파일들을 무시하도록 지시한다. 이렇게 하면 프로젝트를 클론(clone)하거나 push할 때 Git 저장소에 제외된 파일들이 포함되지 않는다.
불필요한 파일 제외
프로젝트 개발과 무관하거나 빌드 과정에서 생성되는 임시 파일, 컴파일된 결과, IDE 설정 파일 등의 불필요한 파일들을 Git 저장소에 포함하지 않음으로써 저장소 용량과 클론 속도를 최적화할 수 있다.
보안과 개인 정보 보호
.gitignore를 사용하여 암호나 API 키, 인증 토큰 등과 같이 보안에 민감한 정보가 담긴 파일을 Git으로 관리하지 않도록 한다. 이를 통해 개인 정보 유출 등의 보안 문제를 방지할 수 있다.
버전 관리에서 제외
일부 파일들은 개발자마다 다를 수 있으며, 특정 환경에 종속적인 설정 파일들이 있을 수 있다. 이러한 파일들은 버전 관리를 통해 공유할 필요가 없으므로 .gitignore를 통해 Git 저장소에서 제외한다.
그런데 이미 Git 버전 관리에 들어가 있는 파일들은 .gitignore파일에 적용한다고 해서 제외되지 않고, 계속해서 Git이 해당 파일들을 추적하고 있는데 어떻게 해야 할까?
//현재 레퍼지토리의 캐시 모두 삭제
$git rm -r --cashed.
// .gitignore에 넣은 파일 목록들을 제외한, 모든 파일들을 다시 추적하도록 한다.
$git add .
$git status
$git commit -m "커밋 메세지"
>> gitignore.io (https://www.toptal.com/developers/gitignore)