把代码上传到gitee的时候,怎么忽略node_modules文件夹

在将代码上传到 Gitee(或 GitHub、GitLab 等)时,node_modules 文件夹是必须忽略的,因为它:

  • 体积巨大(几 MB 到几百 MB)
  • 可以通过 package.jsonnpm install 自动生成
  • 包含平台相关二进制文件,跨平台不兼容
  • 容易引发冲突

✅ 正确做法:使用 .gitignore 文件忽略 node_modules

第一步:创建 .gitignore 文件

在你的项目根目录 下(和 package.json 同级),创建一个名为 .gitignore 的文件。

注意:文件名是 .gitignore(以点开头),没有扩展名。

第二步:写入要忽略的内容

打开 .gitignore 文件,添加以下内容:

lua 复制代码
gitignore
深色版本
# 忽略 node_modules 文件夹
node_modules/

# 其他常见需要忽略的文件(可选)
npm-debug.log
yarn-error.log
yarn-debug.log
.pnpm-debug.log

# 环境变量文件(敏感信息!)
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# IDE 和编辑器生成的文件
.DS_Store
Thumbs.db
*.swp
*.swo
.vscode/
.idea/
*.log

# 构建输出目录(如果你有构建过程)
dist/
build/
out/
.next/
nuxt/

🔥 最关键的一行就是:node_modules/


第三步:确保 Git 未追踪 node_modules

如果你已经执行过 git add . 或提交过 node_modules,需要先从 Git 中移除它(但保留本地文件):

bash 复制代码
bash
深色版本
# 从 Git 缓存中删除 node_modules(不会删除本地文件)
git rm -r --cached node_modules

# 提交更改
git commit -m "Remove node_modules from version control"

然后再继续后续操作。


第四步:正常提交代码

csharp 复制代码
bash
深色版本
git add .
git commit -m "feat: add project with .gitignore"
git push origin main  # 或 master

此时 node_modules 就不会被上传了。


✅ 额外建议

  1. 使用模板 :你可以使用 www.toptal.com/developers/... 生成适合 Node.js 项目的 .gitignore
  2. Gitee/GitHub 自动识别 :新建仓库时,可以选择"Node"模板,它会自动帮你生成 .gitignore
  3. 团队协作.gitignore 文件要提交到仓库,让所有开发者都遵循相同的规则。

✅ 示例项目结构

go 复制代码
深色版本
my-project/
├── .gitignore          ← 已配置忽略 node_modules
├── package.json        ← 包含依赖声明
├── package-lock.json   ← 锁定版本(建议提交)
├── server.js
├── routes/
├── controllers/
└── node_modules/       ← 不会被上传!

✅ 总结一句话:

在项目根目录创建 .gitignore 文件,并写入 node_modules/,即可阻止 Git 上传该文件夹。

这样你的 Gitee 仓库就会干净、轻量、安全!

相关推荐
子兮曰7 小时前
OpenClaw架构揭秘:178k stars的个人AI助手如何用Gateway模式统一控制12+通讯频道
前端·javascript·github
旅之灵夫7 小时前
【GitHub项目推荐--Remotion:使用React编程化创建视频】⭐⭐⭐
github
jiayong239 小时前
Git 核心概念:Tag 与 Branch 的本质区别
git
Serene_Dream12 小时前
git 合并冲突的分支
git
我是一只puppy13 小时前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
玄同76513 小时前
Git常用命令指南
大数据·git·elasticsearch·gitee·github·团队开发·远程工作
吠品14 小时前
命令行揭示SSL证书真相
https·github·ssl
、BeYourself15 小时前
解决git@github.com: Permission denied (publickey)
github
十步杀一人_千里不留行17 小时前
Git提交前ESLint校验实践(Husky + lint-staged)
git·github
朱昆鹏17 小时前
开源 Claude Code + Codex + 面板 的未来vibecoding平台
前端·后端·github