问题:已经把 node_modules 提交并推送到 Gitee,怎么删掉(本地+远程仓库)
node_modules 一般不要提交,体积巨大,需要加入
.gitignore
1. 先添加 .gitignore(防止以后再误提交)
在项目根目录新建/编辑.gitignore,写入:
node_modules/2. 从git仓库索引删除 node_modules(保留本地文件,只从版本库移除)
打开终端,项目根目录执行:
gitrm-r--cachednode_modules
--cached很关键:不会删除你电脑本地的 node_modules 文件夹,只从git记录里删掉
如果不加--cached,本地node_modules会直接被删掉,需要重新npm install
3. 提交这次删除记录
gitadd.gitcommit-m"remove node_modules from git tracking, add .gitignore"4. 推送到 Gitee 远程仓库
gitpush✅ 做完上面几步:
- 远程Gitee仓库里的 node_modules 目录就被删掉了
- 以后git不会再追踪node_modules,不会再误上传
⚠️ 特殊情况:如果想彻底抹除历史提交里的node_modules(仓库体积很大时)
上面方法只是新增一次删除提交,旧的历史提交里还保存着node_modules,仓库大小不会变小。
如果你仓库已经非常臃肿,需要清除历史,用下面这个(风险高,团队多人协作不要随便用!会改写git历史,其他人需要重新克隆)
gitfilter-branch--force--index-filter"git rm -r --cached --ignore-unmatch node_modules"--prune-empty --tag-name-filtercat----all# 强制推送到远程gitpush origin--force--all检查是否生效
gitstatus看输出,node_modules 不再显示在待提交列表里。
补充:多人协作注意
如果是多人项目,尽量不要用 filter-branch 改写历史,优先用第一种简单方案(新增提交删除),避免队友本地git历史冲突。