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 几乎相同。大多数规则以 / 开头并固定在仓库根目录,因此在 monorepo 中如果应用位于子目录,请相应修改路径,或同时使用 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 文件。 |
实践中的注意事项
- 在 monorepo(
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