忽略多个子文件夹中特定文件夹的.gitignore

3
在我的Web项目中,有两个Node应用程序,每个应用程序都有一个单独的node_modules文件夹。main_folder有一个客户端文件夹和一个服务器文件夹,它们是两个独立的Node应用程序。我已经在main文件夹内创建了一个.gitignore文件,希望忽略两个Node应用程序中的node_modules文件夹。我该怎么做?谢谢。
2个回答

4
在主目录中的.gitignore文件中添加node_modules/
.gitignore文件中的每一行都代表一个模式,这个模式让git忽略特定的文件和目录。它应该涵盖所有的子目录。

1
欢迎来到StackOverflow。恭喜您获得了第一次声望增长。 - BenKoshy

2
有两种方法可以忽略 node_modules 子文件夹。 您可以在主文件夹的 .gitignore 文件中忽略它,也可以在 node 应用程序子文件夹的 .gitignore 文件中忽略它。
示例文件夹结构:
main
|-- client
|   |-- foo
|   |   |-- foo.txt
|   | 
|   |-- bar
|   |   |-- bar.txt
|   |
|   |-- node_modules
|   |   |-- modules.txt
|
|-- server
|   |-- foo
|   |   |-- foo.txt
|   | 
|   |-- bar
|   |   |-- bar.txt
|   |
|   |-- node_modules
|   |   |-- modules.txt

从主文件夹中忽略它

main文件夹中添加一个.gitignore文件,其中包含以下规则:

/**/node_modules/

main
|-- ...
|-- .gitignore

忽略应用程序子文件夹中的文件

.gitignore 中子文件夹的模式会覆盖父文件夹的模式。这意味着您也可以向每个应用程序子文件夹添加一个 .gitignore 文件,并使用以下模式:

/node_modules

main
|-- client
|   |-- ...
|   |-- .gitignore
|
|-- server
|   |-- ...
|   |-- .gitignore

根据git文档,在与路径相同的目录中或任何父目录中读取来自.gitignore文件的模式。高级别文件(直到工作树的顶级)中的模式将被低级别文件中的模式覆盖,直到包含文件的目录为止。这些模式与.gitignore文件的位置相关。项目通常会在其存储库中包含此类.gitignore文件,其中包含作为项目构建的一部分生成的文件的模式。请注意保留HTML标签。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接