124

任何人都知道是否可以忽略 git 管理的文件结构中特定目录的所有实例。

我希望排除具有多个子模块的 Maven 项目中的所有“目标”文件夹。我知道我可以在顶级 .gitignore 中明确排除它们中的每一个,但我真的希望能够指定一个像 **/target/* 这样的模式,让它自动忽略子目录中的实例?

这可能吗?

4

6 回答 6

231

.gitignore根目录中的文件确实适用于所有子目录。我的看起来像这样:

.classpath
.project
.settings/
target/

这是在一个多模块 Maven 项目中。所有子模块都使用 m2eclipse 作为单独的 eclipse 项目导入。我没有更多的.gitignore文件。确实,如果您查看gitignore 手册页

.gitignore从与路径相同目录或任何父目录中的文件读取的模式......</p>

所以这应该适合你。

于 2009-06-15T10:08:49.583 回答
108

可以在.gitignore文件中使用模式。请参阅gitignore 手册页。该模式*/target/*应忽略任何名为 target 的目录及其下的任何内容。或者您可能会尝试*/target/**忽略目标下的所有内容。

于 2009-06-14T00:52:04.600 回答
5

正如 Abhijeet 在评论中已经指出的那样,您可以添加如下行:

/target/**

排除文件夹中的文件\.git\info\

然后,如果您想target在远程存储库中删除该文件夹,您需要首先从本地存储库中手动删除该文件夹,提交然后推送它。那是因为 git 会首先显示修改后的目标文件夹的内容。

于 2016-11-10T09:29:32.830 回答
3

在 gitignore 中添加以下行,来自所有不需要的文件

/target/
*/target/**
**/META-INF/
!.mvn/wrapper/maven-wrapper.jar

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
于 2020-05-20T18:51:06.817 回答
2

我忽略了 git 中目标文件夹中的所有类。在打开的 .gitignore 文件中添加以下行:

/ .

或者

*/目标/**

它对我来说非常有效。尝试一下。

于 2018-12-18T13:55:45.977 回答
0

对于Spring Tool Suite,将以下忽略资源添加到.gitignore文件并提交到存储库

*.classpath
*.class
*.prefs
*.jar
*.lst
*.project
*.factorypath
*.original
target/
.settings/
.apt_generated
.sts4-cache
.springBeans
于 2022-01-17T12:56:04.193 回答