github/gitignore · Nextjs.gitignore
Next.js .gitignore 템플릿 해설
Nextjs.gitignore가 .next, out, node_modules, .env 파일, .vercel, next-env.d.ts, *.pem을 무시하는 이유와 Node 템플릿과의 차이를 설명합니다.
Nextjs.gitignore는 create-next-app이 만드는 .gitignore와 거의 같은 구성이다. 대부분의 규칙이 /로 시작해 저장소 루트에 고정되어 있어, 모노레포에서 앱이 하위 폴더에 있다면 경로를 맞게 바꾸거나 Node 템플릿을 함께 쓴다.
Next.js는 .env, .env.local, .env.development.local 등 여러 환경 파일을 읽는다. 이 템플릿은 .env와 .env*.local을 모두 제외한다.
규칙별 해설
| 패턴 | 무엇을, 왜 무시하나 |
|---|---|
/.next//out//build | Next.js 빌드next build의 결과와 캐시(.next), 정적 내보내기 결과(out)다. 배포 과정에서 다시 만든다. |
/node_modules/.pnp.pnp.js | 의존성패키지 설치 결과와 Yarn Plug'n'Play 파일이다. 루트에만 고정되어 있어 하위 패키지의 node_modules는 막지 못한다. |
.env.env*.local | 환경 변수비밀 값이 담긴 환경 파일이다. NEXT_PUBLIC_으로 시작하는 변수는 빌드 결과에 포함되어 브라우저에 노출되므로, 비밀은 그 접두사 없이 서버에서만 쓴다. |
.vercelnext-env.d.ts*.tsbuildinfo | 배포·타입 생성 파일vercel link가 만든 프로젝트 연결 정보와, Next.js가 개발·빌드 때 다시 생성하는 타입 선언 파일, TypeScript 증분 빌드 정보다. |
*.pem | 인증서로컬 HTTPS 개발이나 외부 서비스 연동에 쓰는 인증서·개인 키(.pem) 파일이다. 개인 키는 커밋하지 않는다. |
npm-debug.log*yarn-debug.log*yarn-error.log*/coverage.DS_Store | 로그·기타패키지 매니저 로그, 테스트 커버리지, macOS Finder 파일이다. |
실무에서 주의할 점
- 모노레포(
apps/web)라면/node_modules같은 루트 고정 규칙이 하위 앱에 적용되지 않는다. Node 템플릿을 함께 선택하면 모든 깊이의node_modules/가 걸린다. next.config.js,package-lock.json등 설정과 lockfile은 커밋한다..env를 커밋하지 않는 대신 필요한 변수 이름을 README나.env.example로 공유한다.
원본 템플릿
Nextjs.gitignore
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.# dependencies/node_modules/.pnp.pnp.js# testing/coverage# next.js/.next//out/# production/build# misc.DS_Store*.pem# debugnpm-debug.log*yarn-debug.log*yarn-error.log*# local env files.env*.local.env# vercel.vercel# typescript*.tsbuildinfonext-env.d.ts
템플릿 출처: github/gitignore/Nextjs.gitignore @356fd7b (2026-09-11) · CC0-1.0