Git 파일 무시, `.gitignore`만이 전부가 아닙니다!

by DD
7시간 전
조회수 2

Git에서 파일을 무시하는 세 가지 방법: `.gitignore`, `.git/info/exclude`, `~/.config/git/ignore`

각 파일의 스코프(Scope)와 적용 방식에 대한 명확한 설명 제공

`git check-ignore -v` 명령어를 통한 파일 무시 여부 확인 방법 안내

커뮤니티에서는 `lazygit` 사용 시 `.git/info/exclude` 활용법 공유

세 가지 Git 무시 파일의 스코프와 용도

논의에서는 `.gitignore`가 프로젝트별 공유 무시 규칙에 사용되는 반면, `.git/info/exclude`는 개별 저장소(Repository)에 국한된 비공식 규칙으로 활용된다고 설명함. 예를 들어, 개인적인 메모 파일처럼 자신만 사용하지만 `.gitignore`에 추가하기엔 부적합한 경우에 유용함. 마지막으로 `~/.config/git/ignore`는 전역(Global) 머신 레벨 무시 규칙으로, macOS의 `.DS_Store`와 같이 모든 저장소에서 무시해야 할 파일을 지정하는 데 사용됨.

전역 무시 파일 설정 및 커스터마이징

글에서는 `~/.config/git/ignore`를 기본 전역 무시 파일로 사용하지만, `git config --global core.excludesFile ~/.gitignore_global` 명령어를 통해 사용자 정의 전역 무시 파일 경로를 지정할 수 있음을 강조함. 이는 개발 환경에 따라 일관된 무시 규칙을 적용하거나, 특정 프로젝트 그룹에만 적용되는 전역 규칙을 분리할 때 유용함. 기본 설정 복귀 방법도 함께 안내됨.

파일 무시 규칙 검증: `git check-ignore -v` 활용

커뮤니티에서는 특정 파일이 어떤 규칙에 의해 무시되는지 확인하는 `git check-ignore -v <file>` 명령어의 유용성을 높이 평가함. 이 명령어는 어떤 무시 파일(`.gitignore`, `.git/info/exclude`, 전역 설정 등)의 몇 번째 줄에서 해당 파일이 무시되는지 상세 정보를 제공함. 이를 통해 예상치 못한 파일이 Git 추적에서 제외되는 문제를 신속하게 진단하고 해결할 수 있음.

Lazygit을 활용한 `.git/info/exclude` 관리

Lobsters 토론에서는 `lazygit` 사용자가 `i -> e` 단축키를 사용하여 파일을 `.git/info/exclude`에 쉽게 추가하는 방법을 공유함. 이는 `.gitignore`를 수정하지 않고도 특정 저장소에서만 파일을 무시하고자 할 때 매우 편리한 워크플로우를 제공함. 해당 기능은 개인적인 개발 환경 설정을 저장소와 분리하면서도 Git 추적에서 제외해야 하는 파일들을 효율적으로 관리하는 데 도움을 줌.

.gitignore Isn’t the Only Way To Ignore Files in Git