본문 바로가기
Computer Science/git, github

.gitignore 이란?

by 코듀킹 2025. 1. 26.

Git은 소스 코드를 관리하는 데 매우 유용한 도구입니다. 하지만 프로젝트를 진행하다 보면 버전 관리에 포함시키고 싶지 않은 파일들이 생기곤 합니다. 예를 들어, 개발 중 생성된 로그 파일, 컴파일된 바이너리 파일, 또는 민감한 정보가 담긴 환경 설정 파일 등이 그 예입니다. 이러한 파일들을 Git의 추적 대상에서 제외하기 위해 사용하는 것이 바로 .gitignore 파일입니다.


.gitignore 파일의 역할

.gitignore 파일은 Git이 특정 파일 또는 디렉터리를 무시하도록 지시하는 설정 파일입니다. 이 파일에 정의된 규칙에 따라 Git은 불필요한 파일을 추적하지 않으며, 이를 통해 저장소를 깔끔하게 유지하고 불필요한 파일이 저장소에 포함되지 않도록 방지할 수 있습니다.

주요 활용 예시

  • 빌드 아티팩트 무시: 컴파일 과정에서 생성되는 .class, .exe, .o 등의 파일.
  • 환경 설정 파일: config.env, .env처럼 민감한 정보를 포함하는 파일.
  • 개인 설정 파일: IDE의 설정 파일인 .vscode/, .idea/ 등.
  • 로그 파일: debug.log와 같은 디버깅 중 생성되는 로그 파일.

.gitignore 파일 생성 방법

.gitignore 파일을 만드는 것은 매우 간단합니다. 프로젝트 루트 디렉터리에 .gitignore라는 파일을 생성하고, 그 안에 무시하고 싶은 파일 또는 디렉터리 패턴을 작성하면 됩니다.

기본적인 문법

  1. 파일 이름 지정
    특정 파일을 무시하려면 파일 이름을 직접 적습니다.
    secret.txt
  2. 디렉터리 무시
    디렉터리를 무시하려면 디렉터리 이름 뒤에 /를 붙입니다.
    logs/
  3. 와일드카드 사용
    특정 패턴에 맞는 파일들을 무시할 수 있습니다.
    *.log      # 모든 .log 파일
    *.class    # 모든 .class 파일
  4. 예외 처리
    무시 규칙에서 특정 파일만 예외로 처리하고 싶을 때는 !를 사용합니다.
    *.env
    !.env.example
  5. 주석
    #를 사용해 주석을 작성할 수 있습니다.
    # 로그 파일
    *.log

.gitignore 적용 시 주의 사항

  1. 이미 추적 중인 파일은 무시하지 않음
    .gitignore 파일에 추가한 규칙은 새로 생성되거나 추적되지 않은 파일에만 적용됩니다. 이미 Git이 추적 중인 파일을 무시하려면 아래 명령어를 사용해야 합니다.
  2. git rm --cached <파일명>
  3. 규칙 적용 순서
    .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 파일은 프로젝트를 정리하고 민감한 정보를 보호하며, 저장소를 효율적으로 관리하는 데 필수적인 도구입니다. 이를 잘 활용하면 프로젝트 관리와 협업이 한결 수월해질 것입니다.

댓글