Git - 忽略node_modules文件夹无处不在

时间:2015-04-23 10:30:44

标签: git node-modules

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

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

全部包含node_modules文件夹。我希望git忽略该文件夹,无论它从根文件夹开始。像这样添加.gitignore:

*node_modules/*

13 个答案:

答案 0 :(得分:542)

添加此

node_modules/

.gitignore文件,忽略当前文件夹和所有子文件夹中名为node_modules的所有目录

答案 1 :(得分:112)

我遇到过这种情况几次,所以我做了一个单行我可以粘贴到项目目录中的终端:

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

或者,当我已经将node_modules文件夹添加到git中时:

git rm -r --cached node_modules && touch .gitignore && echo "node_modules/" >> .gitignore

然后,验证它是否有效:

git status

<强>解释

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

echo>>会在node_modules/末尾附加.gitignore,导致node_modules文件夹和所有子文件夹被忽略。

git rm -r --cached从git控件中删除node_modules路径。标志导致删除是递归的并包括缓存。

答案 2 :(得分:15)

首要的事情是在my-app中添加.gitignore文件。就像下面的图片一样。

Put .gitignore in the parent folder/directory of node_modules.

然后将其添加到您的.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*

答案 3 :(得分:8)

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

node_modules

enter image description here

答案 4 :(得分:7)

尝试做这样的事情

**/node_modules

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

  

两个与完整路径名匹配的连续星号(“ **”)可能具有特殊含义:

     

前导“ ”后跟斜杠表示在所有目录中均匹配。例如,“ / foo”与文件“ foo”在任何位置都匹配文件或目录“ foo”。 “ ** / foo / bar”与文件或目录“ bar”匹配,直接位于目录“ foo”下。

     

结尾的“ / ”匹配其中的所有内容。例如,相对于.gitignore文件的位置,“ abc / ”以绝对深度匹配目录“ abc”内的所有文件。

     

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

     

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

Reference

答案 5 :(得分:6)

直接通过代码编辑器或命令

 touch .gitignore 

在根文件夹中创建 .gitignore 文件

打开 .gitignore 声明文件夹或文件名,例如 / foldername

答案 6 :(得分:2)

**node_modules

这对我有用

以递归方式忽略子文件夹中存在的所有node_modules

答案 7 :(得分:0)

将以下行添加到您的.gitignore

*/node_modules/*

这将忽略当前目录以及子目录中的所有node_modules。

答案 8 :(得分:0)

您也可以使用SVN / Tortoise git。

只需右键单击node_modules-> Tortoise git->添加以忽略列表。

这将为您生成.gitIgnore,并且您不会在暂存中再次找到node_modules文件夹。

答案 9 :(得分:0)

只需将不同的.gitignore文件添加到小型项目1和小型项目2中。每个.gitignore文件都应为/ node_modules,您可以使用。

答案 10 :(得分:0)

如果没有,它将自动创建一个.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文件,您可以上传

答案 11 :(得分:0)

如果您的子项目/客户端 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 ------

答案 12 :(得分:0)

针对那些正在尝试上述答案但仍然面临问题的人

我最终尝试了几乎所有的答案,它解决了我忽略 node_modules 的问题,但只有在我提交更改之后!

相关问题