在vscode中从git中删除node_modules

问题描述 投票:0回答:10

在 git、vscode 终端中删除

node_modules
时出现错误

 git rm -r --cached node_modules

错误:

致命错误:pathspec“node_modules”与任何文件不匹配

git node-modules
10个回答
356
投票
  1. 制作 .gitignore 文件。
  2. 将 node_modules/ 行添加到 gitignore 文件
  3. 运行此命令
    git rm -r --cached . git add . git commit -m "remove node_modules" git push

60
投票

我也遇到了同样的问题。执行以下步骤 -

  • 制作 .gitignore 文件。
  • 在终端中运行以下命令

    git rm -r --cached node_modules

    git commit -am "node_modules be gone!"

    git push origin master

仅此而已!

你可以走了!


23
投票

在项目目录中创建

.gitignore
文件。

.gitignore
文件将如下所示

/Folder_name

在终端或同等命令中输入以下命令:

git rm -r --cached Folder_name (remove the directory from git but not delete it from the filesystem/locally)

git commit -m "remove unused directory"

git push origin <your-git-branch> (can be master or develop or others)

15
投票

创建

.gitignore
文件并在其中添加
node_modules

touch .gitignore && echo "node_modules" >> .gitignore

删除缓存数据:

git rm -r --cached .

更新你的最后一次提交:

git add .

git commit --amend --no-edit

git push --force-with-lease

7
投票

该错误意味着

node_modules
目录不受 git 版本控制。有两种可能:

  • 它们尚未添加到

    Git
    。尝试运行
    git status
    命令,看看它们是否显示为
    untracked
    文件。

  • 它已经添加到您的

    gitignore
    文件中。要列出所有被忽略的文件,请尝试以下命令:
    git ls-files --others -i --exclude-standard


7
投票

请注意,当前接受的答案不会完全删除它,它将保留在历史记录中。如果您希望从您的历史记录中完全删除,即从该目录存在的所有过去提交中,您可以使用以下任一方法:

git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch node_modules" HEAD

(在这里阅读更多相关信息:7.6 Git 工具 - 重写历史记录

或者,您可以使用名为 filter repo 的第三方插件 - 这确实也是 Git 官方推荐的方法:

git filter-repo --path node_modules --invert-paths

(在此处了解有关如何使用的更多信息:安装备忘单文档

然而,在这两种情况下,请注意,您正在重写历史,这在团队中工作时可能是一场噩梦......。因此,要么在您自己的本地分支/环境中使用它,要么确保您知道没有人有更好的选择,并提前让您所有的伙伴知道这一点。


5
投票
  1. 创建文件

    .gitignore

  2. node_modules/*
    行添加到
    gitignore
    文件

  3. 在终端中运行以下命令

    git rm -r --cached node_modules 
    
    git add .
    
    
    git commit -m "Remove node_modules from git in vscode"
    
    git push
    

4
投票

上面的答案都很棒。它们只是不是你一直记得的事情。因此,每次需要执行此操作时,您都必须重新上网查看。

这是使用您已经熟悉的 git 命令删除 node_modules 的快速方法。

  • 首先创建一个
    .gitignore
    文件并添加
    /node_modules
    到其中。
  • 然后删除
    node_modules
    文件夹并提交更改。

Git 会将其解释为文件夹删除,并将从 Github 或您使用的任何源代码管理中删除

git push
上的 node_modules 文件夹。

  • 然后运行
    npm i
    yarn install
    重新创建node_module package.json 在您的开发环境中自动生成。

3
投票

一旦 git 开始跟踪文件或文件夹,即使将其添加到 .gitignore,它也不会停止

您需要从 .git 存储库中将其删除。我专门使用本地的,通常位于项目源的根目录下。

截至今天 20200408,似乎还没有通过鼠标点击的方法从 git 中删除烦人的文件/文件夹。

您必须使用终端。

Ctrl-J,然后选择 终端 选项卡

或从 VSCode 菜单中选择 Terminal / New Terminal

然后发出类似以下命令

git  rm -r --cached  www/index.html

以下排除

 www/ 

已经在我的 .gitignore 文件中了。

在您的情况下,您需要添加“癌症文件夹”:)

node_modules/

PS:简单的事情变得不必要的困难,我想知道为什么?

下面是我从未使用过的无数 Git 命令。享受吧!


-4
投票

您可以从 git 中删除文件夹(使用命令行或 IDE)。
如果你想从 git 中删除

node_modules

  1. node_modules
    重命名为
    node_modulesx
  2. 承诺
  3. node_modulesx
    重命名为
    node_modules
  4. node_modules
    添加到 .gitignore (如果需要,创建 .gitignore 文件)
  5. 承诺

现在你的

node_modules
文件夹仍然存在,但不会再提交到git。

© www.soinside.com 2019 - 2024. All rights reserved.