在 git、vscode 终端中删除
node_modules
时出现错误
git rm -r --cached node_modules
错误:
致命错误:pathspec“node_modules”与任何文件不匹配
git rm -r --cached . git add . git commit -m "remove node_modules" git push
我也遇到了同样的问题。执行以下步骤 -
在终端中运行以下命令
git rm -r --cached node_modules
git commit -am "node_modules be gone!"
git push origin master
仅此而已!
你可以走了!
在项目目录中创建
.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)
创建
.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
该错误意味着
node_modules
目录不受 git 版本控制。有两种可能:
它们尚未添加到
Git
。尝试运行 git status
命令,看看它们是否显示为 untracked
文件。它已经添加到您的
gitignore
文件中。要列出所有被忽略的文件,请尝试以下命令:git ls-files --others -i --exclude-standard
请注意,当前接受的答案不会完全删除它,它将保留在历史记录中。如果您希望从您的历史记录中完全删除,即从该目录存在的所有过去提交中,您可以使用以下任一方法:
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
然而,在这两种情况下,请注意,您正在重写历史,这在团队中工作时可能是一场噩梦......。因此,要么在您自己的本地分支/环境中使用它,要么确保您知道没有人有更好的选择,并提前让您所有的伙伴知道这一点。
创建文件
.gitignore
将
node_modules/*
行添加到 gitignore
文件
在终端中运行以下命令
git rm -r --cached node_modules
git add .
git commit -m "Remove node_modules from git in vscode"
git push
上面的答案都很棒。它们只是不是你一直记得的事情。因此,每次需要执行此操作时,您都必须重新上网查看。
这是使用您已经熟悉的 git 命令删除 node_modules 的快速方法。
.gitignore
文件并添加 /node_modules
到其中。node_modules
文件夹并提交更改。Git 会将其解释为文件夹删除,并将从 Github 或您使用的任何源代码管理中删除
git push
上的 node_modules 文件夹。
npm i
或 yarn install
重新创建node_module
package.json 在您的开发环境中自动生成。一旦 git 开始跟踪文件或文件夹,即使将其添加到 .gitignore,它也不会停止
您需要从 .git 存储库中将其删除。我专门使用本地的,通常位于项目源的根目录下。
截至今天 20200408,似乎还没有通过鼠标点击的方法从 git 中删除烦人的文件/文件夹。
您必须使用终端。
按 Ctrl-J,然后选择 终端 选项卡
或从 VSCode 菜单中选择 Terminal / New Terminal
然后发出类似以下命令
git rm -r --cached www/index.html
以下排除
www/
已经在我的 .gitignore 文件中了。
在您的情况下,您需要添加“癌症文件夹”:)
node_modules/
PS:简单的事情变得不必要的困难,我想知道为什么?
下面是我从未使用过的无数 Git 命令。享受吧!
您可以从 git 中删除文件夹(使用命令行或 IDE)。
如果你想从 git 中删除
node_modules
:
node_modules
重命名为 node_modulesx
node_modulesx
重命名为 node_modules
node_modules
添加到 .gitignore (如果需要,创建 .gitignore 文件)现在你的
node_modules
文件夹仍然存在,但不会再提交到git。