为什么 git 默认忽略 node_modules 文件夹?
Why does git ignore node_modules folder by default?
我创建了一个 angular 项目并将其推送到我的 github
存储库中。
当我查看推送的文件时,node_modules
文件夹丢失了,我没有在任何地方声明忽略此文件夹,这是默认行为吗?如果是那么为什么?
此外,当我决定删除 github 上的所有存储库并只创建一个存储库时,我将在其中签入所有项目,一旦初始化 git init
并推送更改,git 开始为所有项目推送 node_modules
文件夹,这花了很多时间。
是什么让 git
忽略或不忽略 node_modules
文件夹本身?我没有自己在任何地方设置这个配置。
谢谢。
git
默认不忽略node_modules
。默认情况下它什么都不忽略。 angular cli 将 node_modules
添加到 .gitignore
,导致 git
忽略它。参见 for more info, and see angular cli's github repo for the specific .gitignore file added。您会看到 /node_modules
列在那里。
您不应该进行版本控制 node_modules
,因为这些是您可以使用 npm install
或 yarn install
轻松获得的工件。
在 angular 项目之外(例如,在新目录中)创建 git 存储库不会添加 .gitignore
文件,因此不会忽略 node_modules
.
Angular CLI 在项目的根目录中生成一个文件,您在其中打开名为 的 angular 项目。gitignore.
这是默认工作区配置文件之一,当您使用 ng new[=27= 创建项目时,angular cli 会自动生成 ] cli 命令。此文件的目的是 存储有意未跟踪的文件,GIT 应该忽略 。
您可以将您想要在git中忽略的所有此类文件夹/文件的路径放在该文件中。它的内容默认是这样的..
projectname/dist/
projectname/node_modules/
dist和node_modules文件夹默认放在里面。您可以在此文件中添加任何要放入忽略列表的文件夹/文件名。
谢谢。
您是否使用 angular-cli
生成了 angular
项目?
如果是,那么在生成项目时它会自动生成一个 .gitignore
文件以忽略 node_modules
.
git
只会忽略一个文件夹,或者只有在.gitignore
文件中设置的文件。
在您的情况下,它已经在为您生成的 .gitigore
文件 angular-cli
中自动完成。
我创建了一个 angular 项目并将其推送到我的 github
存储库中。
当我查看推送的文件时,node_modules
文件夹丢失了,我没有在任何地方声明忽略此文件夹,这是默认行为吗?如果是那么为什么?
此外,当我决定删除 github 上的所有存储库并只创建一个存储库时,我将在其中签入所有项目,一旦初始化 git init
并推送更改,git 开始为所有项目推送 node_modules
文件夹,这花了很多时间。
是什么让 git
忽略或不忽略 node_modules
文件夹本身?我没有自己在任何地方设置这个配置。
谢谢。
git
默认不忽略node_modules
。默认情况下它什么都不忽略。 angular cli 将 node_modules
添加到 .gitignore
,导致 git
忽略它。参见 /node_modules
列在那里。
您不应该进行版本控制 node_modules
,因为这些是您可以使用 npm install
或 yarn install
轻松获得的工件。
在 angular 项目之外(例如,在新目录中)创建 git 存储库不会添加 .gitignore
文件,因此不会忽略 node_modules
.
Angular CLI 在项目的根目录中生成一个文件,您在其中打开名为 的 angular 项目。gitignore.
这是默认工作区配置文件之一,当您使用 ng new[=27= 创建项目时,angular cli 会自动生成 ] cli 命令。此文件的目的是 存储有意未跟踪的文件,GIT 应该忽略 。
您可以将您想要在git中忽略的所有此类文件夹/文件的路径放在该文件中。它的内容默认是这样的..
projectname/dist/
projectname/node_modules/
dist和node_modules文件夹默认放在里面。您可以在此文件中添加任何要放入忽略列表的文件夹/文件名。
谢谢。
您是否使用 angular-cli
生成了 angular
项目?
如果是,那么在生成项目时它会自动生成一个 .gitignore
文件以忽略 node_modules
.
git
只会忽略一个文件夹,或者只有在.gitignore
文件中设置的文件。
在您的情况下,它已经在为您生成的 .gitigore
文件 angular-cli
中自动完成。