把代码上传到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 仓库就会干净、轻量、安全!

相关推荐
CoderJia程序员甲8 小时前
GitHub 热榜项目 - 日榜(2025-12-6)
ai·开源·llm·github·ai教程
uhakadotcom9 小时前
asyncpg 全面教程:常用 API 串联与实战指南
后端·面试·github
HIT_Weston10 小时前
53、【Ubuntu】【Gitlab】拉出内网 Web 服务:http.server 单/多线程分析(五)
网络协议·http·gitlab
The Chosen One98510 小时前
【Linux】制作进度条小程序、git入门 (add、commit、push三板斧)以及git的其他问题
linux·运维·git
遇见火星10 小时前
主流CI/CD工具对比分析!
ci/cd·gitlab·jenkins·云效
シ風箏10 小时前
Shell【脚本 06】监测文件数据量并压缩及查看远程服务器状态并删除文件脚本分享
linux·运维·服务器·github·shell
HIT_Weston10 小时前
52、【Ubuntu】【Gitlab】拉出内网 Web 服务:http.server 单/多线程分析(四)
ubuntu·http·gitlab
成为你的宁宁11 小时前
【Jenkins 参数化构建实战指南:基于机器环境与插件配置,详解 tag 标签管理、commit 修订号应用、版本切换及回退全流程】
git·gitlab·jenkins·参数化构建
darryrzhong11 小时前
GalleryPicker:一个基于 Android 官方 Photo Picker API 封装的现代图片/视频选择库
android·kotlin·github·相机
四问四不知19 小时前
github上的几个热门项目
github