Git은 소스 코드를 관리하는 데 매우 유용한 도구입니다. 하지만 프로젝트를 진행하다 보면 버전 관리에 포함시키고 싶지 않은 파일들이 생기곤 합니다. 예를 들어, 개발 중 생성된 로그 파일, 컴파일된 바이너리 파일, 또는 민감한 정보가 담긴 환경 설정 파일 등이 그 예입니다. 이러한 파일들을 Git의 추적 대상에서 제외하기 위해 사용하는 것이 바로 .gitignore 파일입니다.
.gitignore 파일의 역할
.gitignore 파일은 Git이 특정 파일 또는 디렉터리를 무시하도록 지시하는 설정 파일입니다. 이 파일에 정의된 규칙에 따라 Git은 불필요한 파일을 추적하지 않으며, 이를 통해 저장소를 깔끔하게 유지하고 불필요한 파일이 저장소에 포함되지 않도록 방지할 수 있습니다.
주요 활용 예시
- 빌드 아티팩트 무시: 컴파일 과정에서 생성되는
.class
,.exe
,.o
등의 파일. - 환경 설정 파일:
config.env
,.env
처럼 민감한 정보를 포함하는 파일. - 개인 설정 파일: IDE의 설정 파일인
.vscode/
,.idea/
등. - 로그 파일:
debug.log
와 같은 디버깅 중 생성되는 로그 파일.
.gitignore 파일 생성 방법
.gitignore 파일을 만드는 것은 매우 간단합니다. 프로젝트 루트 디렉터리에 .gitignore
라는 파일을 생성하고, 그 안에 무시하고 싶은 파일 또는 디렉터리 패턴을 작성하면 됩니다.
기본적인 문법
- 파일 이름 지정
특정 파일을 무시하려면 파일 이름을 직접 적습니다.secret.txt
- 디렉터리 무시
디렉터리를 무시하려면 디렉터리 이름 뒤에/
를 붙입니다.logs/
- 와일드카드 사용
특정 패턴에 맞는 파일들을 무시할 수 있습니다.*.log # 모든 .log 파일 *.class # 모든 .class 파일
- 예외 처리
무시 규칙에서 특정 파일만 예외로 처리하고 싶을 때는!
를 사용합니다.*.env !.env.example
- 주석
#
를 사용해 주석을 작성할 수 있습니다.# 로그 파일 *.log
.gitignore 적용 시 주의 사항
- 이미 추적 중인 파일은 무시하지 않음
.gitignore 파일에 추가한 규칙은 새로 생성되거나 추적되지 않은 파일에만 적용됩니다. 이미 Git이 추적 중인 파일을 무시하려면 아래 명령어를 사용해야 합니다. git rm --cached <파일명>
- 규칙 적용 순서
.gitignore 파일에서 나중에 작성된 규칙이 이전 규칙을 덮어씁니다.
예제 .gitignore 파일
다음은 일반적인 Node.js 프로젝트에서 사용되는 .gitignore
파일 예제입니다.
# Node.js 관련
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# 환경 설정
.env
.env.local
.env.*.local
# 빌드 출력
dist/
build/
# OS 관련
.DS_Store
Thumbs.db
GitHub에서 제공하는 .gitignore 템플릿
GitHub에서는 다양한 프로그래밍 언어와 프레임워크에 적합한 .gitignore
템플릿을 제공합니다. 처음 Repository를 생성 할 때, gitignore 파일을 생성하지 못했다면, 템플릿을 통해 쉽게 설정할 수 있습니다. gitignore 템플릿 페이지에서 원하는 템플릿을 찾아 사용해 보세요.
마무리
.gitignore 파일은 프로젝트를 정리하고 민감한 정보를 보호하며, 저장소를 효율적으로 관리하는 데 필수적인 도구입니다. 이를 잘 활용하면 프로젝트 관리와 협업이 한결 수월해질 것입니다.
'Computer Science > git, github' 카테고리의 다른 글
GitHub 리포지토리 생성 시 선택하는 라이선스란? (1) | 2025.01.26 |
---|---|
Python 개발환경 설정 (2) | 2024.09.11 |
Git branch 기본 사용법 및 Github 협업 방법 (0) | 2023.05.03 |
CLI환경에서 git clone생성부터 commit, push까지(MacOS) (0) | 2023.05.01 |
댓글