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

相关推荐
fthux8 小时前
装闭 RenoPit 源码解析(09):AnalysisEngine装修闭坑分析主流程
人工智能·ai·开源·github·open source·renopit
JackieDYH8 小时前
Git 与 GitHub 新电脑配置指南(从零开始)
git·github·工具·使用教程
云空18 小时前
《VPython 相关的 GitHub 仓库地址清单》
github·可视化·vpython
Jeanyia19 小时前
GitLab 配套 Git 常用命令
git·gitlab
小弥儿21 小时前
GitHub今日热榜 | 2026-08-14:OSINT情报工具回流,本地AI赛道升温
人工智能·学习·开源·github
10mAh1 天前
【Git】误删分支、reset --hard 后提交丢了怎么办?——reflog、fsck 与安全恢复实战
数据库·git·安全·回归
极小狐1 天前
极狐GitLab 补丁版本:19.2.1、19.1.3、19.0.5
网络·安全·gitlab·极狐gitlab·安全更新·补丁版本
Lydro1 天前
CentOS 7 安装高版本git
git·centos 7
guwentian1 天前
Git Worktree 实战:用并行多 Agent 把开发提速 N 倍
大数据·git·elasticsearch·wroktree
不吃鱼的羊1 天前
Git识别未修改的文件有修改
git