.gitignore 생성기

다음

.gitignore가 없으면 API 키가 Git 기록에 남거나 400MB에 달하는 node_modules가 GitHub에 푸시되기 쉽습니다. 이 생성기는 Node, Python, Rails, Laravel 등 사용하는 스택에 맞는 검증된 템플릿을 출력하며, 의존성 폴더, 빌드 결과물, 환경 파일이 이미 제외되어 있습니다.

.gitignore 생성 방법

  1. 1

    스택 선택하기

    Node, Python, Rails, Laravel, 각각 고유한 임시 산출물을 남깁니다.

  2. 2

    생성하기

    이 도구는 공통 규칙(.DS_Store, .env, node_modules)과 스택별 규칙을 통합합니다.

  3. 3

    .gitignore로 저장하기

    첫 커밋 전에 파일을 저장소 루트에 배치하세요.

  4. 4

    커밋하기

    .gitignore 자체도 추적해야 합니다. 이는 개인의 선호가 아니라 프로젝트의 일부이기 때문입니다.

공통 블록이 항상 포함되는 이유

규칙 무시해야 하는 이유
.DS_Store macOS Finder 메타데이터, 다른 기기에서는 전혀 쓸모없음
.env 비밀 정보: API 키, 데이터베이스 비밀번호, OAuth 인증 정보
.env.* 환경별 변형(스테이징, 프로덕션)
!.env.example 다만 예제 파일은 남겨 새 기여자가 구조를 알 수 있게 함
node_modules/ package.json에서 다시 설치 가능; 용량이 크고 플랫폼에 종속적

스택별 추가 규칙

스택 주요 추가 규칙
Node dist/, coverage/, npm-debug.log*
Python __pycache__/, .venv/, *.pyc, .pytest_cache/
Rails log/*, tmp/*, storage/*, /public/assets
Laravel vendor/, /storage/*.key, /public/build, .phpunit.cache/

흔한 실수

  • .env를 일찍 커밋한 뒤, 나중에 .gitignore에 추가하는 경우. 파일은 이미 기록에 남아 있으므로 git rm --cached .env를 실행하고, 그 안에 있던 모든 비밀 정보를 교체(순환)하세요.
  • .env.example까지 .env와 함께 무시하는 경우. 팀원들은 작업을 시작하려면 예제 파일이 필요합니다.
  • 너무 포괄적인 글롭: *.log는 프로덕션에 필수적인 로그 설정까지 숨길 수 있으니, 확실하지 않을 때는 더 구체적으로 지정하세요.
  • 자신에게만 국한되지 않는 플랫폼별 파일: 개인용이 아니라 공유 .gitignore를 통해 추가하세요.

개인용 gitignore와 프로젝트용 gitignore

자신에게만 해당하는 편집기 파일(JetBrains IDE, Emacs)은 각 프로젝트를 불필요하게 늘리는 대신 전역 gitignore(~/.config/git/ignore)에 넣으세요.

자주 묻는 질문

.gitignore는 추적되지 않은 파일의 추가만 막기 때문입니다. 이미 커밋된 파일의 추적을 멈추려면 git rm --cached path/to/file을 실행하고 변경 사항을 커밋하세요. 이후에는 규칙이 해당 파일을 제외합니다.

아니요. 락 파일은 커밋해야 모든 환경에서 정확히 동일한 버전이 설치됩니다. 무시하면 “내 컴퓨터에서는 잘 되는데”라는 부류의 버그가 다시 생깁니다.

앞에 붙은 슬래시는 패턴을 저장소 루트에 고정합니다. /logs는 최상위 logs/ 디렉터리에만 일치하고, logs는 어떤 깊이에 있든 모든 logs 디렉터리에 일치합니다.

아니요. 생성된 파일은 저장되거나 추적되지 않습니다. 규칙을 만들기 위해 스택 선택이 서버로 전송되며, 멀티스텝 모드에서는 페이지 링크에도 담기지만 파일 내용은 저장되지 않습니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다