首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Git -忽略所有位置的node_modules文件夹

Git -忽略所有位置的node_modules文件夹
EN

Stack Overflow用户
提问于 2015-04-23 18:30:44
回答 14查看 602.7K关注 0票数 544

我有一个包含多个其他项目的项目:

  • 主项目
    • 迷你项目1
    • 迷你项目2

全部包含node_modules文件夹。我希望git忽略该文件夹,无论它从根文件夹开始在哪里。在.gitignore中添加类似这样的内容:

代码语言:javascript
复制
*node_modules/*
EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2015-04-23 18:34:24

node_modules/node_modules添加到.gitignore文件以忽略当前文件夹中名为node_modules的所有目录以及类似下图的所有子文件夹。

票数 1.1K
EN

Stack Overflow用户

发布于 2017-12-15 11:02:41

在项目目录中的终端中使用通用单行程序

touch .gitignore && echo " node_modules /“>> .gitignore && git rm -r --缓存的node_modules;git状态

无论你是否已经创建了一个.gitignore,不管你是否已经将node_modules添加到git跟踪中,它都可以工作。

然后提交并推送.gitignore更改。

说明

如果.gitignore文件不存在,touch将生成该文件。

echo>>会将node_modules/附加到.gitignore的末尾,导致node_modules文件夹及其所有子文件夹被忽略。

如果node_modules文件夹是以前添加的,git rm -r --cached会将其从git控件中删除。否则,这将显示一个警告pathspec 'node_modules' did not match any files,它没有副作用,您可以放心地忽略它。这些标志使得移除是递归的,并且包括高速缓存。

git status将显示新的更改。对.gitignore的更改将会出现,而node_modules将不会出现,因为它不再被git跟踪。

票数 238
EN

Stack Overflow用户

发布于 2018-11-10 22:39:15

代码语言:javascript
复制
**/node_modules

**用于整个项目的递归调用

在与完整路径名匹配的模式中,

两个连续的星号**可能具有特殊含义:

前导**后跟斜杠表示在所有目录中都匹配。例如,**/foo与文件或目录foo anywhere匹配,与模式foo相同。**/foo/bar与直接位于foo目录下的文件或目录bar anywhere匹配。

尾随的/**匹配内部的所有内容。例如,abc/**匹配目录abc中的所有文件,相对于.gitignore文件的位置,深度是无限的。

一个斜杠后跟两个连续的星号,然后一个斜杠匹配零个或多个目录。例如,a/\**/ba/ba/x/ba/x/y/b等匹配。

其他连续的星号被认为是无效的。

为什么这种方法比node_modules/更好

**充当递归模式。它在monorepo项目中很有用,在子目录中有node_modules。**将搜索目录中的所有node_modules并忽略它们。

Reference

票数 72
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29820791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档