Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git-忽略所有节点\u模块文件夹_Git_Node Modules - Fatal编程技术网

Git-忽略所有节点\u模块文件夹

Git-忽略所有节点\u模块文件夹,git,node-modules,Git,Node Modules,我有一个包含多个其他项目的项目: 主要项目 小型项目1 小型项目2 所有包含节点\u模块的文件夹。我希望git忽略这个文件夹,不管它从根文件夹的哪个位置开始。外接程序的类似内容。gitignore: *node_modules/* 加上这个 node_modules/ 要忽略.gitignore文件,要忽略当前文件夹和任何子文件夹中名为node\u modules的所有目录,请使用项目目录中的终端中的universal one liner: gitignore&&echo“node_

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

  • 主要项目
    • 小型项目1
    • 小型项目2
所有包含
节点\u模块的文件夹。我希望git忽略这个文件夹,不管它从根文件夹的哪个位置开始。外接程序的类似内容。gitignore:

*node_modules/*
加上这个

node_modules/

要忽略
.gitignore
文件,要忽略当前文件夹和任何子文件夹中名为
node\u modules
的所有目录,请使用项目目录中的终端中的universal one liner

gitignore&&echo“node_modules/”>.gitignore&&git rm-r——缓存的节点_模块;git状态

无论您是否创建了
.gitignore
,无论您是否将
节点\ u模块添加到git跟踪中,它都可以工作

然后提交并推送
.gitignore
更改

解释

touch
将生成
.gitignore
文件(如果该文件尚不存在)

echo
将在
.gitignore
的末尾追加
节点模块/
,导致忽略
节点模块
文件夹和所有子文件夹

git rm-r--cached
从git控件中删除
node\u modules
文件夹(如果以前添加过)。否则,这将显示一条警告
pathspec“node_modules”不匹配任何文件
,该警告没有副作用,您可以安全地忽略。这些标志导致删除是递归的,并包括缓存


git status
显示新的更改。将显示对
.gitignore
的更改,而不会显示
节点_模块
,因为git不再跟踪它。

首先要做的是在我的应用程序中添加
.gitignore
文件。如下图所示

然后将其添加到
.gitignore
文件中

/node_modules
注 您还可以添加其他文件以忽略它们,从而推送到github上。这里还有一些保存在.gitignore中的文件。您可以根据需要添加它们
#
只是在.gitignore文件中进行注释的一种方式

#参见https://help.github.com/ignore-files/ 有关忽略文件的详细信息。
#依赖关系
/节点单元
#测试
/覆盖范围
#生产
/建造
#杂项
.DS_商店
环境保护署署长
.env.development.local
.env.test.local
.env.production.local
npm-debug.log*
warn-debug.log*
错误日志*

试试这样做

**/node_modules
**
用于整个项目中的递归调用

在与完整路径名匹配的模式中,两个连续的星号
**
可能具有特殊含义:

前导的
**
后跟斜杠意味着在所有目录中都匹配。例如,
**/foo
在任何地方匹配文件或目录
foo
,与模式
foo
相同
**/foo/bar
匹配目录
foo
下的任何文件或目录
bar

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

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

其他连续的星号被视为无效

注-

为什么这种方法比
node\u modules/

**
充当递归模式。它在monorepo项目中很有用,在这些项目中,子目录中有node_模块<代码>**
将搜索目录中的所有节点模块并忽略它们


直接通过代码编辑器或命令在根文件夹中创建.gitignore文件

适用于Mac和Linux touch .gitignore 触摸,忽略 窗户

echo >.gitignore echo>.gitignore
打开.gitignore像这样声明文件夹或文件名/foldername将下面的行添加到.gitignore

*/node_modules/*

这将忽略当前目录以及子目录中的所有节点模块。

在下面的行中添加。gitignore将忽略整个存储库中的节点模块

node_modules

您也可以使用SVN/Tortoise git来实现

只需右键单击node_modules->tortoisegit->addtoignorelist

这将为您生成.gitIgnore,您将无法在暂存中再次找到node_modules文件夹

**node_modules
这对我有用


忽略子文件夹中所有节点模块的递归方法只需将不同的.gitignore文件添加到迷你项目1和迷你项目2。每个.gitignore文件都应该/node_模块,您就可以开始了。

它将自动创建一个
.gitignore
文件,如果不是,则创建一个文件名
.gitignore
并添加复制粘贴下面的代码

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*
下面这些都是不必要的文件

有关忽略文件的详细信息,请参阅。


并保存
.gitignore
文件,如果您的子项目/客户端节点\u模块已提交,则可以上载

    # dependencies
    /node_modules
    /.pnp
    .pnp.js

    # testing
    /coverage

    # production
    /build

    # misc
    .DS_Store
    .env.local
    .env.development.local
    .env.test.local
    .env.production.local

    npm-debug.log*
    yarn-debug.log*
    yarn-error.log*
然后在最后一行添加“node_modules”

    # dependencies
    /node_modules
    /.pnp
    .pnp.js

    # testing
    /coverage

    # production
    /build

    # misc
    .DS_Store
    .env.local
    .env.development.local
    .env.test.local
    .env.production.local

    npm-debug.log*
    yarn-debug.log*
    yarn-error.log*
    node_modules 
    # ------ Up Here ------

对于karma,excludes,glob路径是什么?对于nodejs的gitignore模板:如果您之前已经将node_modules文件夹添加到git,请参阅@AndrewSchreiber的答案。您需要使用“git rm-r--缓存的节点\u模块”将其从缓存中删除。
touch
此处不需要:
>
将创建不存在的文件。
touch
是必需的
>
将返回
没有这样的文件或目录:.gitignore
否则。嗯,OSmacOS似乎不需要触摸
echo“node_modules/”>。gitignore
应该创建一个新文件