Git - 到处忽略 node_modules 文件夹
Git - Ignore node_modules folder everywhere
我有一个包含多个其他项目的项目:
- 主要项目
- 迷你项目 1
- 迷你项目 2
全部包含 node_modules
文件夹。我希望 git 忽略该文件夹,无论它是从根文件夹开始的。像这样添加到 .gitignore 中:
*node_modules/*
添加node_modules/
或 node_modules
到 .gitignore
文件以忽略当前文件夹中名为 node_modules
的所有目录以及如下图所示的任何子文件夹。
在项目目录下的terminal中使用universal one-liner:
touch .gitignore && echo "node_modules/" >> .gitignore && git rm -r --cached node_modules ; git status
无论您是否创建了 .gitignore
,无论您是否将 node_modules
添加到 git 跟踪,它都有效。
然后提交并推送 .gitignore
更改。
说明
touch
将生成 .gitignore
文件(如果尚不存在)。
echo
和 >>
将在 .gitignore
的末尾附加 node_modules/
,导致忽略 node_modules
文件夹和所有子文件夹。
git rm -r --cached
从 git 控件中删除 node_modules
文件夹(如果之前已添加)。否则,这将显示一个警告 pathspec 'node_modules' did not match any files
,它没有副作用,您可以放心地忽略它。这些标志导致删除是递归的并包括缓存。
git status
显示新的更改。 .gitignore
的更改将出现,而 node_modules
将不会出现,因为它不再被 git 跟踪。
首先也是最重要的是在我的应用程序中添加 .gitignore
文件。如下图所示。
然后将其添加到您的 .gitignore
文件中
/node_modules
备注
您也可以添加其他文件以忽略它们推送到 github。这里有一些保存在 .gitignore 中的文件。您可以根据需要添加它们。 #
只是在 .gitignore 文件中评论的一种方式。
# See https://help.github.com/ignore-files/ for more about ignoring files.
# dependencies
/node_modules
# 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*
编辑 -(2022 年 9 月 4 日之前)
在一个新的 monorepo 设置中,我发现只使用这个
node_modules
解决它忽略子目录中的所有node_modules,注意前后没有斜线表示递归。
旧方法 -(2022 年 9 月 4 日之前)
**/node_modules
**
用于整个项目的一次递归调用
Two consecutive asterisks **
in patterns matched against full pathname may have special meaning:
A leading **
followed by a slash means match in all directories. For example, **/foo
matches file or directory foo
anywhere, the same as pattern foo
. **/foo/bar
matches file or directory bar
anywhere that is directly under directory foo
.
A trailing /**
matches everything inside. For example, abc/**
matches all files inside directory abc
, relative to the location of the .gitignore file, with infinite depth.
A slash followed by two consecutive asterisks then a slash matches zero or more directories. For example, a/\**/b
matches a/b
, a/x/b
, a/x/y/b
and so on.
Other consecutive asterisks are considered invalid.
为什么这种方法比 node_modules/
**
充当递归模式。它在子目录中有 node_modules 的 monorepo 项目中很有用。 **
将搜索目录中的所有 node_modules 并忽略它们。
通过代码编辑器或命令直接在根文件夹中创建.gitignore文件
对于 Mac & Linux
touch .gitignore
对于Windows
echo >.gitignore
打开 .gitignore 像这样声明文件夹或文件名 /foldername
将以下行添加到您的 .gitignore
*/node_modules/*
这将忽略当前目录和子目录中的所有 node_modules。
在 .gitignore 中添加以下行将忽略整个存储库中的节点模块。
node_modules
你也可以用 SVN/Tortoise git 来完成。
只需右键单击 node_modules -> 乌龟 git -> 添加到忽略列表。
这将生成。git为您忽略,您将不会再次在暂存中找到 node_modules 文件夹。
**node_modules
这对我有用
忽略所有 node_modules 存在于子文件夹中的递归方法
只需将不同的 .gitignore 文件添加到迷你项目 1 和迷你项目 2。每个 .gitignore 文件都应该 /node_modules 就可以了。
它会自动创建一个.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*
以下都是不需要的文件
有关忽略文件的更多信息,请参阅 https://help.github.com/articles/ignoring-files/。
并保存 .gitignore
文件,您可以上传
如果您的 subproject/client 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”。
# 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 ------
那些正在尝试上述答案但仍然面临问题的人是敌人
我最终尝试了几乎所有的答案,它解决了我忽略node_modules但只有在我提交更改之后的问题!
按照以下步骤操作 -
- 在你的项目所在文件夹打开gitbash,或者打开vs code终端
通过点击
CTRL + `
- 在终端中写入 [echo > .gitignore] 或直接在文件夹
中创建文件 [.gitignore]
- 然后编写此代码以忽略整个存储库中的节点模块
node_modules
- 或者,尝试忽略多个子文件夹中的所有 node_modules
**node_modules
注意:如果您在键入文件夹或文件的名称时出现拼写错误,它将无效。所以,仔细检查拼写
将 node_modules/ 或 node_modules 添加到 .gitignore 文件以忽略当前文件夹和任何子文件夹中名为 node_modules 的所有目录。
在Mac,
- 开源树
- 点击特定项目
- 点击设置
- 点击高级
- 点击编辑 gitignore
- 写“node_modules”
- 并保存。
将以下行添加到您的 .gitignore
/node_modules/
在我的例子中,写 /node_modules 后没有前斜杠是行不通的
在 git 存储库中不保留任何模块并不是一个好习惯。
#gitignore file To Remove node_modules Folder
创建git忽略
删除 node_modules
我有一个包含多个其他项目的项目:
- 主要项目
- 迷你项目 1
- 迷你项目 2
全部包含 node_modules
文件夹。我希望 git 忽略该文件夹,无论它是从根文件夹开始的。像这样添加到 .gitignore 中:
*node_modules/*
添加node_modules/
或 node_modules
到 .gitignore
文件以忽略当前文件夹中名为 node_modules
的所有目录以及如下图所示的任何子文件夹。
在项目目录下的terminal中使用universal one-liner:
touch .gitignore && echo "node_modules/" >> .gitignore && git rm -r --cached node_modules ; git status
无论您是否创建了 .gitignore
,无论您是否将 node_modules
添加到 git 跟踪,它都有效。
然后提交并推送 .gitignore
更改。
说明
touch
将生成 .gitignore
文件(如果尚不存在)。
echo
和 >>
将在 .gitignore
的末尾附加 node_modules/
,导致忽略 node_modules
文件夹和所有子文件夹。
git rm -r --cached
从 git 控件中删除 node_modules
文件夹(如果之前已添加)。否则,这将显示一个警告 pathspec 'node_modules' did not match any files
,它没有副作用,您可以放心地忽略它。这些标志导致删除是递归的并包括缓存。
git status
显示新的更改。 .gitignore
的更改将出现,而 node_modules
将不会出现,因为它不再被 git 跟踪。
首先也是最重要的是在我的应用程序中添加 .gitignore
文件。如下图所示。
然后将其添加到您的 .gitignore
文件中
/node_modules
备注
您也可以添加其他文件以忽略它们推送到 github。这里有一些保存在 .gitignore 中的文件。您可以根据需要添加它们。 #
只是在 .gitignore 文件中评论的一种方式。
# See https://help.github.com/ignore-files/ for more about ignoring files.
# dependencies
/node_modules
# 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*
编辑 -(2022 年 9 月 4 日之前)
在一个新的 monorepo 设置中,我发现只使用这个
node_modules
解决它忽略子目录中的所有node_modules,注意前后没有斜线表示递归。
旧方法 -(2022 年 9 月 4 日之前)
**/node_modules
**
用于整个项目的一次递归调用
Two consecutive asterisks
**
in patterns matched against full pathname may have special meaning:A leading
**
followed by a slash means match in all directories. For example,**/foo
matches file or directoryfoo
anywhere, the same as patternfoo
.**/foo/bar
matches file or directorybar
anywhere that is directly under directoryfoo
.A trailing
/**
matches everything inside. For example,abc/**
matches all files inside directoryabc
, relative to the location of the .gitignore file, with infinite depth.A slash followed by two consecutive asterisks then a slash matches zero or more directories. For example,
a/\**/b
matchesa/b
,a/x/b
,a/x/y/b
and so on.Other consecutive asterisks are considered invalid.
为什么这种方法比 node_modules/
**
充当递归模式。它在子目录中有 node_modules 的 monorepo 项目中很有用。 **
将搜索目录中的所有 node_modules 并忽略它们。
通过代码编辑器或命令直接在根文件夹中创建.gitignore文件
对于 Mac & Linux
touch .gitignore
对于Windows
echo >.gitignore
打开 .gitignore 像这样声明文件夹或文件名 /foldername
将以下行添加到您的 .gitignore
*/node_modules/*
这将忽略当前目录和子目录中的所有 node_modules。
在 .gitignore 中添加以下行将忽略整个存储库中的节点模块。
node_modules
你也可以用 SVN/Tortoise git 来完成。
只需右键单击 node_modules -> 乌龟 git -> 添加到忽略列表。
这将生成。git为您忽略,您将不会再次在暂存中找到 node_modules 文件夹。
**node_modules
这对我有用
忽略所有 node_modules 存在于子文件夹中的递归方法
只需将不同的 .gitignore 文件添加到迷你项目 1 和迷你项目 2。每个 .gitignore 文件都应该 /node_modules 就可以了。
它会自动创建一个.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*
以下都是不需要的文件
有关忽略文件的更多信息,请参阅 https://help.github.com/articles/ignoring-files/。
并保存 .gitignore
文件,您可以上传
如果您的 subproject/client 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”。
# 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 ------
那些正在尝试上述答案但仍然面临问题的人是敌人
我最终尝试了几乎所有的答案,它解决了我忽略node_modules但只有在我提交更改之后的问题!
按照以下步骤操作 -
- 在你的项目所在文件夹打开gitbash,或者打开vs code终端 通过点击
CTRL + `
- 在终端中写入 [echo > .gitignore] 或直接在文件夹 中创建文件 [.gitignore]
- 然后编写此代码以忽略整个存储库中的节点模块
node_modules
- 或者,尝试忽略多个子文件夹中的所有 node_modules
**node_modules
注意:如果您在键入文件夹或文件的名称时出现拼写错误,它将无效。所以,仔细检查拼写
将 node_modules/ 或 node_modules 添加到 .gitignore 文件以忽略当前文件夹和任何子文件夹中名为 node_modules 的所有目录。
在Mac,
- 开源树
- 点击特定项目
- 点击设置
- 点击高级
- 点击编辑 gitignore
- 写“node_modules”
- 并保存。
将以下行添加到您的 .gitignore
/node_modules/
在我的例子中,写 /node_modules 后没有前斜杠是行不通的
在 git 存储库中不保留任何模块并不是一个好习惯。 #gitignore file To Remove node_modules Folder 创建git忽略 删除 node_modules